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