淘优惠

淘优惠

chatgpt和openai什么关系 openai创始人谈chatgpt 马斯克

双十一活动 0
chatGPT和openai的关系

近来,智能聊天机器ChatGPT火遍全网,吸引了全世界的目光,3月15日更是发布了全新版本GPT4.0,其增强的能力再一次震撼了所有人,AI取代人类的进程似乎又前进了一步。作为当下人工智能领域现象级的产品,其背后的公司OpenAI也进入了人们的视野,其股权架构设计也让人耳目一新。本文介绍OpenAI及其股权结构,与大家一起看看这家神奇的企业在股权架构方面的不同之处。

OpenAI的成立

人类世界第一次被人工智能刷屏,大概要追溯到2016年那个遥远的下午,由谷歌旗下的DeepMind发布的智能围棋软件AlphaGo战胜了围棋世界冠军李世石。这场“人机大战”影响深远,人类第一次意识到,计算机,真的可以在智力领域超越人类。在此之前,人们普遍认为离机器产生真正的“智慧”还需要很久,但AlphaGo的出现,让人类明白,AI纪元,真的要来了。

就在DeepMind的Alpha系列大显神威,攻克一个又一个人类智慧领域,垄断AI赛道的同时,另一家人工智能公司悄悄诞生了。2015年12月,埃隆・马斯克联合其他几位硅谷大佬,在旧金山创立了OpenAI。OpenAI成立的初衷:一是为了打破DeepMind在人工智能领域的垄断;二是为了创造造福全人类的安全人工通用智能。这句话,至今仍作为OpenAI的企业愿景写在其官网的最醒目处。

OpenAI的这句话,可并不是说说而已。从成立之初,OpenAI的定位就是一家非营利组织,目标就是研发通用且开放的人工智能。但是智能AI的开发训练需要巨量的算力支撑,算力意味着烧钱。随着OpenAI核心产品GPT的快速迭代,其训练所需算力的烧钱速度也急速上升。早在GTP2.0时代,马斯克等创始人们投入的10亿美元资金就消耗殆尽。

OpenAI想要得到进一步发展,就必须解决算力的问题,换言之,就是解决钱的问题。据估算,GPT3.0训练一次的成本约为140万美元,一个成熟的模型需要不断地训练计算,这样高额的花费显然不是创始人继续注资能解决的,OpenAI必须打开大门,开始融资之旅。

OpenAI的股权设计

一旦融资,就意味着股权的变更,甚至还可能伴随着控制权流失、公司发展方向偏离的问题。要想OpenAI继续按照创始人们的规划方向继续前进,就必须要有专门的股权架构设计。关于OpenAI的股权架构,我们可以先听一听它自家的ChatGPT是怎么描述的。

基于ChatGPT的描述,我们可以知道,为了OpenAI能够践行最初的愿景,不让股东的利益左右OpenAI发展的方向,OpenAI采用了一种独特的股权结构。但是投资不是做慈善,如果投资者看不到回报,OpenAI很难完成融资。那么OpenAI是如何解决这个问题,它的股权架构又独特在何处?

关于OpenAI的股权设计,关键词就是“利润上限”。OpenAI成立了一个合伙企业OpenAI LP,由主体公司OpenAI Inc.担任普通合伙人(GP),包括创始人及微软等其他投资者作为有限合伙人(LP)。目前,OpenAI LP已完成了数轮融资,最大的投资者为微软,投资超过100亿美元。股加加估计,其中一部分将以OpenAI在微软云计算部门产生的账单支付。马斯克则因特斯拉逐渐聚焦AI业务,为避免利益冲突,已退出OpenAI创始人团队。目前OpenAI的股权结构如下。

根据披露的信息,OpenAI的股权投资协议规定,未来盈利后OpenAI的利润分配将按照四个阶段进行。

第―阶段:创始团队投资者将优先获得收益分配权,保证创始团队收回投资本金;

第二阶段:在创始团队投资者收回投资本金后,微软将有权获得【【微信】】%的利润分配,直至收回其130亿美元投资;

第三阶段:在OpenAI的利润达到920亿美元后,微软的利润分配比例从75%下降至49%;

第四阶段:在OpenAI利润达到1500亿美元后,微软和其他投资者(所有LP)的股份将无偿转让给OpenAI的非营利基金。

在利润分配梯队之外,OpenAI的股权投资协议还规定了投资者的投资回报上限。其中创始团队的投资回报上限为100倍,微软的投资回报上限约为5-10倍(具体数据未公布),并享有OpenAI技术的优先使用权,其他投资者回报上限为20倍,所有投资者超过投资回报上限的部分都将归OpenAI Inc.所有。

启发与思考

OpenAI的股权投资协议,可以说是为科技企业融资打开了一扇新的大门。传统的企业融资对赌,一般是以估值、上市等指标作为考核,投资者通过股权转让获得变现。这容易导致企业为了在期限内达成对赌条件而急于求成,与企业长远的目标和规划发生偏离。

为了避免这个因企业融资而急功近利的风险,OpenAI的股权设计可谓大胆而新颖。OpenAI既不追求上市,也不关注企业估值,而是直接将企业盈利和投资者回报联系在一起,通过股权设计来协调各投资者的利益分配顺序和利益分配额度。OpenAI股权架构的实质,等于是暂时将公司的股权出租出去,换取资金来帮助企业发展,最后通过分配创造的利润再赎回股权。在赎回股权之前,OpenAI Inc.虽然只持股OpenAI LP 2%的股份,但是因为普通合伙人(GP)的身份可以保持公司的发展方向不受其他股东左右。

虽然这种股权设计方式并不适合大多数企业,它需要企业拥有出色的创造团队和让人信服的预期盈利能力才能执行,而且目前OpenAI的盈利能力离拿回股权的1500亿美元盈利预期还相去甚远,但是这种设计方式确实是为企业融资开辟了全新的模式。在刚刚结束的*上,人大代表刘庆峰也提出,“鼓励产业基金参照OpenAI和微软投资新模式,构建更好的科技创投生态和创新创业环境”。

openai宣布开放api的目的 open ai接口

OpenAI宣布开放API,openapi开放平台,openai 官网,openapi官网

最近ChatGPT这么火,那必须来凑个热闹啊。

申请账户我就不多说了,懂得都懂。

从ChatGPT的Chat演示看,他需要一个持续的长链接,所以我使用SignalR+JWT来走这个场景。

具体SignalR+JWT怎么做,就不多介绍了。

因为对接ChatGPT没有过类似经验,肯定优先看NuGet的库里面有没有开发好的内容。

首次尝试:

我第一次使用的是这个包,在实际尝试的时候,我没有找到对应的文档,并且他返回的内容要等全部内容返回后才出现,这个时间很长,有可能是因为我没有找到逐渐输出的这种方式。所以放弃没有继续使用。

第二次尝试:

?

使用了OkGoDoIt 做的这个SDK,这个SDK调用起来很简单,只需要:

?public class ChatGptHub : Hub  {   private readonly string sessionToken = "";   public async Task Con【【微信】】(string msg)   {    try    {     OpenAIAPI api = new(sessionToken);     await foreach (var token in api.Completions.StreamCompletionEnumerableAsync(new CompletionRequest(msg,                 model: Model.Da【【微信】】,                 max_tokens: 512,                 temperature: 0.9,                 top_p: 1,                 【【微信】】: 0.6,                 fre【【微信】】: 0)))     {        await Clients.Caller.SendAsync("Reply", $"{token}");     }    }    catch(Exception ex)    {     await Clients.Caller.SendAsync("Reply", "服务器有点忙, 稍后再试试吧~");    }    }  }  

就可以使用了,它会通过Reply返回每一个字给到前端。

msg: 是我传递的带有上下文的信息,具体可以继续看下去;

max_tokens:是返回最多多少个字,一个英文字母是4个字节

temperature:是温度,他的值越高,AI越有感情。

top_p:我也没太明白是干嘛的,有兴趣你可以直接问ChatGPT

【【微信】】和fre【【微信】】:一种惩罚,如果给这个值设置超过0,会对模型返回结果进行惩罚。例如,如果希望减少生成语句中任何重复的词语或短语,则可以加大 "【【微信】】";如果希望减少生成语句中出现次数较多的重复词语或短语,则可以加大 "fre【【微信】】"。我在实际测试中没有发现特别大的变化,可能是因为中文的缘故。

它需要知道上下文信息,我们需要自己制造上下文给到CompletionRequest 的第一个参数。

我的做法是在界面中设置一个隐藏的textarea,然后给角色赋值,就像playground中一样:在上图的负载中可以看到,我问他天空的颜色,然后问他为什么会是其他颜色,这里如果按照文字逐行理解,他应该是无法分析出“为什么会有其他颜色?”这种问题。

那么传递数据的时候,我也要制造出这样的内容:

AI:我叫小娜  Human:你好啊。    AI:很高兴认识你,请问我有什么可以帮你?  Human:你叫什么?    AI:我叫小娜  Human:xxxxxxxx

否则他会随便说一个名字,是不是很尴尬?可以让这个textarea在初始化的时候直接写一个: (记得换行)

AI: 你好,我叫小娜,很高兴为您服务。  Human: 

这样,你下次下发到接口时,接口就知道他的名字叫“小娜”了。

上述方法同样有助于让AI知道你在说中文,带上上下文,他回答英文的概率变小了。

对接还是很简单的,就是这服务器反应速度略慢。

经过了一段时间的学些,此处有一些补充:

1. ChatGPT API的收费标准:在中对话的Chat 是达芬奇(Davinci) 002 ,而在API中只能使用达芬奇003或者下图的这些机器人模型。

0.02美元一千个Token,那Token怎么理解呢?如果他说英文,一般一个英文词是一个Token,例如:What's your name. 是4个token,具体是多少个,可以去看一下官方的token计算器。中文就比较贵了一个字是1-2个Token。

?2. Request:请求的收费标准是这样的:

Completions re【【微信】】 on the number of tokens sent in your prompt plus the number of tokens in the completion(s) returned by the API.The best_of and n parameters may also impact costs. Because these parameters generate multiple completions per prompt, they act as multipliers on the number of tokens returned.Your request may use up to num_tokens(prompt) + max_tokens * max(n, best_of) tokens, which will be billed at the per-engine rates outlined at the top of this page.In the simplest case, if your prompt contains 10 tokens and you re【【微信】】ompletion from the davinci engine, your re【【微信】】s and will cost $0.002.You can limit costs by reducing prompt length or maximum response length, limiting usage of best_of/n, adding appropriate stop se【【微信】】, or using engines with lower per-token costs.

?够贵的啊,他说如果我在prompt中传10个字,API返回了90个字,那就收100个token的费用。所以如果有必要,请谨慎使用上下文功能。

3. 这是一个命题作文:

如何让ChatGPT有一些个性来回复内容呢?下方是一个官方示例:

?Mar【【微信】】tantly answers questions with sarcastic responses:    You: How many pounds are in a kilogram?  Marv: 【【微信】】? There are 2.2 pounds in a kilogram. Please make a note of this.  You: What does HTML stand for?  Marv: 【【微信】】? Hypertext Markup Language. The T is for try to ask better 【【微信】】.  You: When did the first airplane fly?  Marv: 【【微信】】, 1903, Wilbur and Orville Wright made the first flights. I wish they’d come and take me away.  You: What is the meaning of life?  Marv: I’【【微信】】. I’ll ask my friend Google.  You: Why is the sky blue?

马维就会不耐烦的回答问题,同样你可以说:

AI是一个聊天机器人,她只能用中文回答Human提出的问题。    /* 以下是你说的内容 可以通过接口传递 */  Human: 你好  /* 以下是GPT回复的内容 */  AI: 你好,很高兴认识你.

说不明白, 直接上代码: 这里需要stopSe【【微信】】 ,它在回复Token的时候会不去回复指定的string[]内容. 可以减少Token输出量.

try  {   string 【【微信】】 = $"AI是一个聊天机器人,她只能用中文回答Human提出的问题。\  \  Human:{pormpt}\  AI:";   OpenAIAPI api = new(sessionToken);   await foreach (var token in api.Completions.StreamCompletionEnumerableAsync(new CompletionRequest(【【微信】】,                model: Model.Da【【微信】】,               max_tokens: 150,               temperature: 0.5,               top_p: 1,               【【微信】】: 0.6,               fre【【微信】】: 0, stopSe【【微信】】:new string[] {"Human:","AI:" })))   {    await Clients.Caller.SendAsync("Reply", $"{token}");    await Task.Delay(200);   }  }  catch (Exception ex)  {   await Clients.Caller.SendAsync("Reply", "服务器有点忙, 我正在重新尝试请求~");   DebugLog.WriteLine($"ChatGptHub:错误内容:{ex}");  }  

继续更新,在3月1日,Openai公布了GPT-3.5-turbo模型,这个模型的主要功能就是进行chat,并公布了新的api:对话完成。

这个接口收费更低一些,0.002美元1K个token,比达芬奇003便宜了10倍。但是这个模型只能用在chat中,不可以用来做文本完成。

根据我这段时间的分析,我认为之前的AI对话,是模型在完成后续的内容(文本完成),它并不像那样是在直接对话。

新的这个api我看这个OkGoDoIt 还没有去做,在pull request中,有一位叫megalon的人做好了,正在提交测试,我决定等等。但是在等待之前,我可以通过postman,来进行一下初步的测试。以下是我的测试结果:

可选参数我都没有写,需要的朋友可以自行添加,详见对话完成 API说明

{    "model": "gpt-3.5-turbo",    "stream":true,    "messages":[{"role": "user", "content": "天空是什么颜色的?"}]  }

这是一个使用streaming方式获得OpenAI Chat API的返回内容, 这个明显首次响应会很快, 他毕竟是一个字一个字的返回给我们。

这是不使用流,等待所有内容组织好之后返回给我们的,他的缺点就是返回速度很慢,但优点是,你可以知道他是一句话,可以使用TTS接口,将他读出来。

3月9日更新: 今天是miku的39day!

OkGoDoIt的OpenAI-API-dotnet更新了, 使用了GPT-3.5-turbo模型的方法.

具体可以看他的官方示例, 但是官方示例没有写完整, 可能因为刚上线, 还没来得及完全修改内容.

Chat Con【【微信】】s(聊天对话)

//以下是官方示例:                
                                    
                
            

关于本站

Copyright © 2023 欢迎来到我的小站 备案号:粤ICP备2020117555号 |淘宝互助 |隋唐演义 | 名诗名词 | 淘宝优惠

联系我们

合作或咨询可通过如下方式:

QQ:

邮箱:

关注我们

淘优惠