社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  chatgpt

几行代码,GPT-3变ChatGPT!吴恩达高徒、华人CEO震撼发布Lamini引擎

磐创AI • 1 年前 • 231 次点击  



  磐创AI分享  

来源 | 新智元

编辑 | Aeneas 好困

【导读】这个全新发布的Lamini引擎,大大拉低了模型训练的门槛,开发者人手一个ChatGPT的梦想成真了。

快速定制模型的LLM引擎Lamini来了,开发者狂喜!
ChatGPT虽好,但始终有门槛。通常,只有拥有AI博士学位的大型机器学习团队,才能这样训练一个模型。
为了把这个门槛打下来, 团队构建了Lamini引擎,从此,每个开发者都能够拥有从GPT-3训练ChatGPT的超能力!
划重点:可以商用!可以商用!可以商用!

项目地址:https://github.com/lamini-ai/lamini/
Lamini的开发团队表示,你需要的只是几行代码,就可以用托管数据生成器俩训练自己的LLM,包括权重和其他所有的内容。
此外,你也可以使用开源的LLM,用Lamini库对生成的数据进行微调。以及访问完整的LLM训练模块,使用从LoRa等速度优化,到虚拟私有云 (VPC) 部署等企业功能。
对此,英伟达科学家Jim Fan表示, LLaMa+自定义数据正在成为新的范式,而Lamini的推出也带了一种全新的模式——FaaS,微调即服务。
MLOps的未来是「LMOps」。哪里有标准化,哪里就有机会。
OpenAI科学家,前特斯拉人工智能总监Andrej Karpathy也表示,LLM定制化的生态正在愈发火爆。

训LLM就像prompt-tuning一样简单

写一个prompt如此容易,但想要从基础模型训练出一个大语言模型,却是如此困难。
因为需要花费大量时间,来找出微调模型失败的原因,所以对数据集微调的迭代周期都是以月为单位的。
与之相反,微调prompt的迭代,只需要几秒钟,并且在几个小时内,性能都能保持稳定。
这个过程只需要把有限数量的数据整合到prompt中就可以了,并不需要动辄几TB的数据。
ChatGPT的诞生十分艰难,OpenAI的团队花了几个月的时间,在基础的GPT-3模型上微调,并进行RLHF。这个门槛极高,只有大型的ML团队才能完成这种训练。
有500强企业的技术负责人这样抱怨过:「我们团队的10名机器学习工程师用了OpenAI的微调API,结果我们的模型反而变得更差了,怎么办啊。」
「我真的不知道该怎么充分利用数据,我已经用尽了所有从在线教程中能学到的prompt魔法了。」
这,就是研究者构建Lamini的原因:让每个开发者可以直接从GPT-3训练ChatGPT。

任意LLM,秒变ChatGPT!

Lamini是一个LLM引擎,可以让不仅仅是机器学习专家的任何开发人员,都能在大型数据集中,把高性能的LLM训练得像ChatGPT一样好。
这个过程,只需要Laimini库的几行代码即可。
值得注意的是,这个库中的优化(optimization)远远超出了现在开发者可以使用的范围,从更具挑战性的优化(如RLHF)到更简单的优化(如减少幻觉)。
比如,你想从不同的角度生成一个广告文案。
首先,从llama模块导入LLM引擎:
from llama import LLMllm = LLM(name="marketing")
接下来,需要定义输入和输出类型。注意,这里一定要包括上下文(Context),因为可以有助于LLM在自然语言中进行理解。
from llama import Type, Context
class AdAspects(Type): tone: str = Context("tone of the marketing copy") product_features: list = Context("product features to promote") audience: str = Context("target audience for the message") subject: str = Context("subject or topic of the message") goal: str = Context("goal of this marketing campaign and message")
class AdCopy(Type): title: str = Context("google ad title tag") description: str = Context("google ad description") keywords: list = Context("keywords for the search engine")
然后就可以开始提问了:
语气:大胆,但不傲慢
特色:亚洲酱料和香料、家常调料和套餐包,可以轻松在家烹饪。
aspects = AdAspects(    tone="bold and bright, but not arrogant",    product_features=[        'asian sauces and aromatics',        'home-cooked seasonings and meal packs that can be easily cooked at home'    ],    audience="suburban families",    subject="delicious asian meals without going to a restaurant",    goal="get suburban moms and dads to try buy their first omsom pack or free tasting kit")ad_copy = llm(input=aspects, output_type=AdCopy)print(f"Ad copy: {ad_copy}")
模型输出:
尝试 Omsom 的美味亚洲酱料、香料、家常调料和套餐包。轻松为家人在家做出美味佳肴。
> title='Delicious Asian Meals Without Going to a Restaurant | Omsom'  description="Try Omsom's delicious Asian sauces, aromatics, and home-cooked seasonings and meal packs. Easily cook delicious meals at home for your family."  keywords=[    'Asian sauces',    'Aromatics',    'Home-cooked seasonings',    'Meal packs',    'Delicious meals',    'Suburban families',    'Omsom'    ]


如何创建自己的「ChatGPT」


基础模型能理解一般的英语,但如果需要它们学习一些垂直语言和规则,prompt微调并不足够,很多时候我们都需要构建自己的LLM。
利用用下面这个步骤,就能获得像ChatGPT一样遵循指令的LLM。
  1. 尝试prompt-tuning ChatGPT或其他模型
可以使用Lamini库的API,在不同模型之间快速进行prompt-tuning,只需一行代码,即可在OpenAI和开源模型之间切换。
Lamini库已经优化了正确的prompt,这样开发者就可以使用不同的模型,不必担心如何为每个模型设置prompt的格式。
  1. 构建一个包含输入-输出对的大型数据集
这些数据集会向模型展示,它应该如何响应输入,无论是遵循英文说明,还是以JSON响应。
研究者刚刚发布了一个只有几行代码的repo,使用Lamini库,仅从100个数据点中,就能生成50k数据点。
而且因为使用Lamini库来启动Lamini引擎,所以这个过程根本不需要用到GPU。
在repo中,已经包含一个开源的70+k数据集。

项目地址:https://github.com/lamini-ai/lamini/
  1. 在大型数据集上微调基础模型
除了数据生成器,研究者还发布了一个LLM,它使用Lamini对生成的数据进行了微调。以编程方式执行此操作的功能也会很快发布。
也可以把OpenAI的微调API作为起步。
  1. 在微调模型上进行RLHF
使用Lamini,就不再需要大型ML和人工标记团队来运行RLHF。
  1. 部署到云端
只需点击产品或功能中的API端点即可。

专为LLM打造的数据生成器


简单来说,依照以下几个步骤,就可以训练自己的大语言模型了。
  • 用于优化prompt微调和类型化输出(typed outputs )的 Lamini库。
  • 用于微调和RLHF的高级Lamini库,只需几行代码。
  • 史上首个托管数据生成器,用于创建数据,来训练遵循指令的LLM。注意,已获得商业使用许可!
  • 开源的指令跟随(instruction-following)LLM,使用上述工具,只需几行代码即可完成。

数据生成器工作原理

Lamini数据生成器是一个LLM管线,它采用原始的100多条指令的小集合,与预期的响应配对,生成50k+新的配对,灵感来自Stanford的Alpaca 。这个生成管线使用Lamini库来定义和调用 LLM,以生成不同但相似的指令和响应对。
根据这些数据训练后,你的LLM会遵循这些指示,因而得到改进。对于使用开源LLM的生成管线,研究者提供了一个很好的默认值,Lamini Open和Lamini Instruct。
随着每天新的LLM发布,研究者都会将默认值更新为性能最佳的模型。在目前的版本中,Lamini Open用的是EleutherAI的Pythia,Lamini Instruct用的是Databricks的Dolly。
Lamini Open会生成更多指令,而Lamini Instruct会生成这些指令的成对响应。
最终生成的数据集可供免费商业使用,已经通过CC-BY许可。
仅用一行代码,就可以将Lamini库的默认值换成其他开源或OpenAI模型。
研究者发现,OpenAI模型的平均表现更好,但它们的许可限制了将生成数据用于训练类ChatGPT模型的商用。

对生成数据进行微调

在这个过程中,生成的数据会质量不一。
在微调之前,下一步就是将生成的数据过滤为高质量数据。
然后,Lamini会通过在这个过滤后生成的数据集上训练基础模型,来创建自定义LLM。
研究者已经发布了一个开源指令跟随LLM(CC-BY 许可),可以用Lamini来训练Pythia基础模型,生成的37k指令是从70k中筛选出来的。
显然,Lamini库的出现,让迭代周期变得更快、更有效,有更多的人能够构建模型,而不仅仅是试验各种prompt。

团队介绍

Sharon Zhou是Lamini的联合创始人兼首席执行官。

个人主页:https://sharonzhou.me/
她在哈佛大学获得了计算机科学与古典文学联合学士学位,并以最高荣誉获得了硕士学位。
随后,她在斯坦福大学获得了计算机科学博士学位,师从吴恩达。
2022年,29岁的Zhou入选《麻省理工科技评论》「35岁以下科技创新35人」。
Gregory Diamos是MLPerf的联合创始人。
他曾是百度硅谷AI实验室的创始成员,对DeepSpeech和DeepVoice系统有贡献。


参考资料:
https://lamini.ai/blog/introducing-lamini



扫码看好书,满100减50超值优惠活动等你哦哦



✄-----------------------------------------------

看到这里,说明你喜欢这篇文章,请点击「在看」或顺手「转发」「点赞」。

欢迎微信搜索「panchuangxx」,添加小编磐小小仙微信,每日朋友圈更新一篇高质量推文(无广告),为您提供更多精彩内容。


▼     扫描二维码添加小编  ▼  ▼  

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/154284
 
231 次点击