Lamini引擎助力开发者训练ChatGPT

释放双眼,带上耳机,听听看~!
Lamini引擎的发布为开发者训练ChatGPT带来了新的便利,大大降低了模型训练的门槛,为AI领域的发展带来了新的可能性。

新智元报道

编辑:Aeneas 好困

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

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

Lamini引擎助力开发者训练ChatGPT

项目地址:github.com/lamini-ai/l… 的开发团队表示,你需要的只是几行代码,就可以用托管数据生成器俩训练自己的LLM,包括权重和其他所有的内容。此外,你也可以使用开源的LLM,用Lamini库对生成的数据进行微调。以及访问完整的LLM训练模块,使用从LoRa等速度优化,到虚拟私有云 (VPC) 部署等企业功能。Lamini引擎助力开发者训练ChatGPT对此,英伟达科学家Jim Fan表示, LLaMa+自定义数据正在成为新的范式,而Lamini的推出也带了一种全新的模式——FaaS,微调即服务。Lamini引擎助力开发者训练ChatGPT

MLOps的未来是「LMOps」。哪里有标准化,哪里就有机会。

OpenAI科学家,前特斯拉人工智能总监Andrej Karpathy也表示,LLM定制化的生态正在愈发火爆。Lamini引擎助力开发者训练ChatGPT

训LLM就像prompt-tuning一样简单

写一个prompt如此容易,但想要从基础模型训练出一个大语言模型,却是如此困难。因为需要花费大量时间,来找出微调模型失败的原因,所以对数据集微调的迭代周期都是以月为单位的。与之相反,微调prompt的迭代,只需要几秒钟,并且在几个小时内,性能都能保持稳定。这个过程只需要把有限数量的数据整合到prompt中就可以了,并不需要动辄几TB的数据。Lamini引擎助力开发者训练ChatGPTChatGPT的诞生十分艰难,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。Lamini引擎助力开发者训练ChatGPT

  1. 尝试prompt-tuning ChatGPT或其他模型

可以使用Lamini库的API,在不同模型之间快速进行prompt-tuning,只需一行代码,即可在OpenAI和开源模型之间切换。Lamini库已经优化了正确的prompt,这样开发者就可以使用不同的模型,不必担心如何为每个模型设置prompt的格式。

  1. 构建一个包含输入-输出对的大型数据集

这些数据集会向模型展示,它应该如何响应输入,无论是遵循英文说明,还是以JSON响应。研究者刚刚发布了一个只有几行代码的repo,使用Lamini库,仅从100个数据点中,就能生成50k数据点。而且因为使用Lamini库来启动Lamini引擎,所以这个过程根本不需要用到GPU。在repo中,已经包含一个开源的70+k数据集。

Lamini引擎助力开发者训练ChatGPT

项目地址:github.com/lamini-ai/l…

  1. 在大型数据集上微调基础模型

除了数据生成器,研究者还发布了一个LLM,它使用Lamini对生成的数据进行了微调。以编程方式执行此操作的功能也会很快发布。也可以把OpenAI的微调API作为起步。

  1. 在微调模型上进行RLHF

使用Lamini,就不再需要大型ML和人工标记团队来运行RLHF。

  1. 部署到云端

只需点击产品或功能中的API端点即可。

专为LLM打造的数据生成器

简单来说,依照以下几个步骤,就可以训练自己的大语言模型了。

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

数据生成器工作原理

Lamini引擎助力开发者训练ChatGPT

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的联合创始人兼首席执行官。

Lamini引擎助力开发者训练ChatGPT

个人主页:sharonzhou.me/

她在哈佛大学获得了计算机科学与古典文学联合学士学位,并以最高荣誉获得了硕士学位。随后,她在斯坦福大学获得了计算机科学博士学位,师从吴恩达。

Lamini引擎助力开发者训练ChatGPT

2022年,29岁的Zhou入选《麻省理工科技评论》「35岁以下科技创新35人」。

Lamini引擎助力开发者训练ChatGPT

Gregory Diamos是MLPerf的联合创始人。他曾是百度硅谷AI实验室的创始成员,对DeepSpeech和DeepVoice系统有贡献。

Lamini引擎助力开发者训练ChatGPT

参考资料:lamini.ai/blog/introd…

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

开源LLM的新浪潮:ChatGPT平替浪潮正在爆发

2023-12-17 21:24:14

AI教程

使用tf.keras.Sequential实现花朵图像分类

2023-12-17 21:38:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索