【新智元導(dǎo)讀】這個(gè)全新發(fā)布的Lamini引擎,大大拉低了模型訓(xùn)練的門檻,開發(fā)者人手一個(gè)ChatGPT的夢(mèng)想成真了。快速定制模型的LLM引擎Lamini來了,開發(fā)者狂喜!ChatGPT雖好,但始終有門檻。通常,只有擁有AI博士學(xué)位的大型機(jī)器學(xué)習(xí)團(tuán)隊(duì),才能這樣訓(xùn)練一個(gè)模型。為了把這個(gè)門檻打下來, 團(tuán)隊(duì)構(gòu)建了Lamini引擎,從此,每個(gè)開發(fā)者都能夠擁有從GPT-3訓(xùn)練ChatGPT的超能力!劃重點(diǎn):可以商用!可以商用!可以商用!項(xiàng)目地址:https://github.com/lamini-ai/lamini/Lamini的開發(fā)團(tuán)隊(duì)表示,你需要的只是幾行代碼,就可以用托管數(shù)據(jù)生成器倆訓(xùn)練自己的LLM,包括權(quán)重和其他所有的內(nèi)容。此外,你也可以使用開源的LLM,用Lamini庫對(duì)生成的數(shù)據(jù)進(jìn)行微調(diào)。以及訪問完整的LLM訓(xùn)練模塊,使用從LoRa等速度優(yōu)化,到虛擬私有云 (VPC) 部署等企業(yè)功能。對(duì)此,英偉達(dá)科學(xué)家Jim Fan表示, LLaMa 自定義數(shù)據(jù)正在成為新的范式,而Lamini的推出也帶了一種全新的模式——FaaS,微調(diào)即服務(wù)。MLOps的未來是「LMOps」。哪里有標(biāo)準(zhǔn)化,哪里就有機(jī)會(huì)。 OpenAI科學(xué)家,前特斯拉人工智能總監(jiān)Andrej Karpathy也表示,LLM定制化的生態(tài)正在愈發(fā)火爆。訓(xùn)LLM就像prompt-tuning一樣簡單 寫一個(gè)prompt如此容易,但想要從基礎(chǔ)模型訓(xùn)練出一個(gè)大語言模型,卻是如此困難。因?yàn)樾枰ㄙM(fèi)大量時(shí)間,來找出微調(diào)模型失敗的原因,所以對(duì)數(shù)據(jù)集微調(diào)的迭代周期都是以月為單位的。與之相反,微調(diào)prompt的迭代,只需要幾秒鐘,并且在幾個(gè)小時(shí)內(nèi),性能都能保持穩(wěn)定。這個(gè)過程只需要把有限數(shù)量的數(shù)據(jù)整合到prompt中就可以了,并不需要?jiǎng)虞m幾TB的數(shù)據(jù)。ChatGPT的誕生十分艱難,OpenAI的團(tuán)隊(duì)花了幾個(gè)月的時(shí)間,在基礎(chǔ)的GPT-3模型上微調(diào),并進(jìn)行RLHF。這個(gè)門檻極高,只有大型的ML團(tuán)隊(duì)才能完成這種訓(xùn)練。有500強(qiáng)企業(yè)的技術(shù)負(fù)責(zé)人這樣抱怨過:「我們團(tuán)隊(duì)的10名機(jī)器學(xué)習(xí)工程師用了OpenAI的微調(diào)API,結(jié)果我們的模型反而變得更差了,怎么辦啊?!?/span>「我真的不知道該怎么充分利用數(shù)據(jù),我已經(jīng)用盡了所有從在線教程中能學(xué)到的prompt魔法了?!?/span>這,就是研究者構(gòu)建Lamini的原因:讓每個(gè)開發(fā)者可以直接從GPT-3訓(xùn)練ChatGPT。Lamini是一個(gè)LLM引擎,可以讓不僅僅是機(jī)器學(xué)習(xí)專家的任何開發(fā)人員,都能在大型數(shù)據(jù)集中,把高性能的LLM訓(xùn)練得像ChatGPT一樣好。這個(gè)過程,只需要Laimini庫的幾行代碼即可。值得注意的是,這個(gè)庫中的優(yōu)化(optimization)遠(yuǎn)遠(yuǎn)超出了現(xiàn)在開發(fā)者可以使用的范圍,從更具挑戰(zhàn)性的優(yōu)化(如RLHF)到更簡單的優(yōu)化(如減少幻覺)。from llama import LLMllm = LLM(name='marketing')
接下來,需要定義輸入和輸出類型。注意,這里一定要包括上下文(Context),因?yàn)榭梢杂兄贚LM在自然語言中進(jìn)行理解。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')
特色:亞洲醬料和香料、家常調(diào)料和套餐包,可以輕松在家烹飪。 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 的美味亞洲醬料、香料、家常調(diào)料和套餐包。輕松為家人在家做出美味佳肴。 > 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' ]
基礎(chǔ)模型能理解一般的英語,但如果需要它們學(xué)習(xí)一些垂直語言和規(guī)則,prompt微調(diào)并不足夠,很多時(shí)候我們都需要構(gòu)建自己的LLM。利用用下面這個(gè)步驟,就能獲得像ChatGPT一樣遵循指令的LLM。- 嘗試prompt-tuning ChatGPT或其他模型
可以使用Lamini庫的API,在不同模型之間快速進(jìn)行prompt-tuning,只需一行代碼,即可在OpenAI和開源模型之間切換。Lamini庫已經(jīng)優(yōu)化了正確的prompt,這樣開發(fā)者就可以使用不同的模型,不必?fù)?dān)心如何為每個(gè)模型設(shè)置prompt的格式。- 構(gòu)建一個(gè)包含輸入-輸出對(duì)的大型數(shù)據(jù)集
這些數(shù)據(jù)集會(huì)向模型展示,它應(yīng)該如何響應(yīng)輸入,無論是遵循英文說明,還是以JSON響應(yīng)。研究者剛剛發(fā)布了一個(gè)只有幾行代碼的repo,使用Lamini庫,僅從100個(gè)數(shù)據(jù)點(diǎn)中,就能生成50k數(shù)據(jù)點(diǎn)。而且因?yàn)槭褂肔amini庫來啟動(dòng)Lamini引擎,所以這個(gè)過程根本不需要用到GPU。在repo中,已經(jīng)包含一個(gè)開源的70 k數(shù)據(jù)集。項(xiàng)目地址:https://github.com/lamini-ai/lamini/- 在大型數(shù)據(jù)集上微調(diào)基礎(chǔ)模型
除了數(shù)據(jù)生成器,研究者還發(fā)布了一個(gè)LLM,它使用Lamini對(duì)生成的數(shù)據(jù)進(jìn)行了微調(diào)。以編程方式執(zhí)行此操作的功能也會(huì)很快發(fā)布。也可以把OpenAI的微調(diào)API作為起步。 使用Lamini,就不再需要大型ML和人工標(biāo)記團(tuán)隊(duì)來運(yùn)行RLHF。 只需點(diǎn)擊產(chǎn)品或功能中的API端點(diǎn)即可。簡單來說,依照以下幾個(gè)步驟,就可以訓(xùn)練自己的大語言模型了。- 用于優(yōu)化prompt微調(diào)和類型化輸出(typed outputs )的 Lamini庫。
- 用于微調(diào)和RLHF的高級(jí)Lamini庫,只需幾行代碼。
- 史上首個(gè)托管數(shù)據(jù)生成器,用于創(chuàng)建數(shù)據(jù),來訓(xùn)練遵循指令的LLM。注意,已獲得商業(yè)使用許可!
- 開源的指令跟隨(instruction-following)LLM,使用上述工具,只需幾行代碼即可完成。
數(shù)據(jù)生成器工作原理Lamini數(shù)據(jù)生成器是一個(gè)LLM管線,它采用原始的100多條指令的小集合,與預(yù)期的響應(yīng)配對(duì),生成50k 新的配對(duì),靈感來自Stanford的Alpaca 。這個(gè)生成管線使用Lamini庫來定義和調(diào)用 LLM,以生成不同但相似的指令和響應(yīng)對(duì)。根據(jù)這些數(shù)據(jù)訓(xùn)練后,你的LLM會(huì)遵循這些指示,因而得到改進(jìn)。對(duì)于使用開源LLM的生成管線,研究者提供了一個(gè)很好的默認(rèn)值,Lamini Open和Lamini Instruct。隨著每天新的LLM發(fā)布,研究者都會(huì)將默認(rèn)值更新為性能最佳的模型。在目前的版本中,Lamini Open用的是EleutherAI的Pythia,Lamini Instruct用的是Databricks的Dolly。Lamini Open會(huì)生成更多指令,而Lamini Instruct會(huì)生成這些指令的成對(duì)響應(yīng)。最終生成的數(shù)據(jù)集可供免費(fèi)商業(yè)使用,已經(jīng)通過CC-BY許可。僅用一行代碼,就可以將Lamini庫的默認(rèn)值換成其他開源或OpenAI模型。研究者發(fā)現(xiàn),OpenAI模型的平均表現(xiàn)更好,但它們的許可限制了將生成數(shù)據(jù)用于訓(xùn)練類ChatGPT模型的商用。對(duì)生成數(shù)據(jù)進(jìn)行微調(diào)在這個(gè)過程中,生成的數(shù)據(jù)會(huì)質(zhì)量不一。在微調(diào)之前,下一步就是將生成的數(shù)據(jù)過濾為高質(zhì)量數(shù)據(jù)。然后,Lamini會(huì)通過在這個(gè)過濾后生成的數(shù)據(jù)集上訓(xùn)練基礎(chǔ)模型,來創(chuàng)建自定義LLM。研究者已經(jīng)發(fā)布了一個(gè)開源指令跟隨LLM(CC-BY 許可),可以用Lamini來訓(xùn)練Pythia基礎(chǔ)模型,生成的37k指令是從70k中篩選出來的。顯然,Lamini庫的出現(xiàn),讓迭代周期變得更快、更有效,有更多的人能夠構(gòu)建模型,而不僅僅是試驗(yàn)各種prompt。Sharon Zhou是Lamini的聯(lián)合創(chuàng)始人兼首席執(zhí)行官。她在哈佛大學(xué)獲得了計(jì)算機(jī)科學(xué)與古典文學(xué)聯(lián)合學(xué)士學(xué)位,并以最高榮譽(yù)獲得了碩士學(xué)位。隨后,她在斯坦福大學(xué)獲得了計(jì)算機(jī)科學(xué)博士學(xué)位,師從吳恩達(dá)。2022年,29歲的Zhou入選《麻省理工科技評(píng)論》「35歲以下科技創(chuàng)新35人」。Gregory Diamos是MLPerf的聯(lián)合創(chuàng)始人。他曾是百度硅谷AI實(shí)驗(yàn)室的創(chuàng)始成員,對(duì)DeepSpeech和DeepVoice系統(tǒng)有貢獻(xiàn)。https:///blog/introducing-lamini
|