OpenAI 花幾個(gè)月完成的事,現(xiàn)在用它直接給你自動(dòng)化了。
最近一段時(shí)間,不論大公司還是開(kāi)發(fā)者都在造大語(yǔ)言模型(LLM),但有人認(rèn)為,大模型應(yīng)用的速度有點(diǎn)落后。
為了構(gòu)建能實(shí)際使用的 AI 工具,我們需要基于基礎(chǔ)模型構(gòu)建定制化模型,中間的過(guò)程包含微調(diào)(Fine-tuning),這是一個(gè)復(fù)雜且耗時(shí)的過(guò)程,對(duì)于很多人來(lái)說(shuō),簡(jiǎn)便易行的調(diào)試是不存在的。
(資料圖)
這個(gè)問(wèn)題現(xiàn)在或許得到了解決:本周六,來(lái)自斯坦福的一群開(kāi)發(fā)者發(fā)布了 Lamini,號(hào)稱可以為每個(gè)開(kāi)發(fā)人員提供從 GPT-3 帶到 ChatGPT 的超能力。
鏈接:https://lamini.ai/
Lamini 是一個(gè) LLM 引擎,供開(kāi)發(fā)人員使用很多公司、機(jī)構(gòu)的基礎(chǔ)模型快速構(gòu)建定制化模型:你可以用 OpenAI、EleutherAI、Cerebras、Databricks、HuggingFace、Meta 等公司的技術(shù)做自己的,只要他們開(kāi)源就可以。
將基礎(chǔ)模型構(gòu)建成強(qiáng)大的語(yǔ)言模型是一個(gè)極具挑戰(zhàn)性的過(guò)程,需要花費(fèi)大量的時(shí)間和成本。首先,在特定數(shù)據(jù)集上進(jìn)行微調(diào)的迭代周期以月為單位,需要花費(fèi)大量時(shí)間找出微調(diào)模型失敗的原因。雖然使用 prompt 調(diào)整迭代以秒計(jì)時(shí),但微調(diào)之后的模型性能只能穩(wěn)定幾個(gè)小時(shí),而且能融入 prompt 的數(shù)據(jù)量非常有限。
OpenAI 的機(jī)器學(xué)習(xí)團(tuán)隊(duì)花了幾個(gè)月的時(shí)間在其基本模型 GPT-3 上進(jìn)行微調(diào),并使用 RLHF(基于人類反饋的強(qiáng)化學(xué)習(xí)方法)才構(gòu)建出強(qiáng)大的 ChatGPT。這個(gè)過(guò)程需要消耗大量的計(jì)算資源,還要求團(tuán)隊(duì)具備專業(yè)的技術(shù)知識(shí)。
在 ChatGPT 開(kāi)放 API 之后,很多公司都嘗試使用 OpenAI 提供的微調(diào) API,但結(jié)果卻不盡如人意,一些基礎(chǔ)模型經(jīng)過(guò)微調(diào)之后,性能變得更差,無(wú)法投入使用。還有一些公司表示不知道如何充分利用數(shù)據(jù)。
現(xiàn)在,名為「Lamini」的新工具解決了這些問(wèn)題。Lamini 將微調(diào)封裝成一種服務(wù),使開(kāi)發(fā)人員可以輕松將 GPT-3 微調(diào)成 ChatGPT。
簡(jiǎn)單來(lái)說(shuō),Lamini 提供了一種托管化的數(shù)據(jù)生成器,只需執(zhí)行 Lamini 庫(kù)中的幾行代碼,用戶就能訓(xùn)練自己的大型語(yǔ)言模型(LLM)及其權(quán)重,而無(wú)需使用任何 GPU。
速成強(qiáng)大的 LLM
Lamini 是一個(gè) LLM 引擎,它允許開(kāi)發(fā)人員只使用 Lamini 庫(kù)中的幾行代碼,就能在大型數(shù)據(jù)集上訓(xùn)練出高性能的 LLM。Lamini 庫(kù)涵蓋對(duì)機(jī)器學(xué)習(xí)模型的多種優(yōu)化,包括簡(jiǎn)單的優(yōu)化(例如消除模型「幻覺(jué)」)和更具挑戰(zhàn)性的優(yōu)化(例如 RLHF)。
那么,Lamini 庫(kù)在構(gòu)建 ChatGPT 般強(qiáng)大的 LLM 時(shí)能起到哪些作用?按照 OpenAI 構(gòu)建 ChatGPT 的流程,Lamini 的作用具體包括以下幾點(diǎn):
1. 對(duì) ChatGPT 或其他模型進(jìn)行 prompt 調(diào)整。Lamini 庫(kù)的 API 提供快速調(diào)優(yōu)功能,只需一行代碼即可在 OpenAI 的模型和其他開(kāi)源模型之間切換。Lamini 庫(kù)還提供了優(yōu)化之后的正確 prompt,以便于用戶根據(jù)模型設(shè)置不同格式的 prompt。
2. 構(gòu)建一個(gè)輸入輸出對(duì)的大型數(shù)據(jù)集。該數(shù)據(jù)集將讓模型理解它應(yīng)如何響應(yīng)其輸入。使用 Lamini 引擎,用戶可以僅用幾行代碼就快速?gòu)?100 個(gè)數(shù)據(jù)點(diǎn)生成 50k 數(shù)據(jù)點(diǎn),而無(wú)需啟動(dòng)任何 GPU。Lamini 也提供了一個(gè) 50k 的開(kāi)源數(shù)據(jù)集。
3. 在數(shù)據(jù)集上微調(diào)基礎(chǔ)模型。Lamini 的研究團(tuán)隊(duì)在其 50k 的開(kāi)源數(shù)據(jù)集上微調(diào)出一個(gè) LLM,后續(xù)他們將發(fā)布執(zhí)行此操作的功能和代碼。
4. 在經(jīng)過(guò)微調(diào)的模型上運(yùn)行 RLHF。Lamini 庫(kù)讓用戶不再需要大型 ML 和人工標(biāo)記團(tuán)隊(duì)來(lái)運(yùn)行 RLHF。
5. 方便用戶將模型部署到云端。
數(shù)據(jù)生成器
?ChatGPT 風(fēng)靡全球是因?yàn)樗梢宰裱脩舻闹噶钌筛哔|(zhì)量?jī)?nèi)容,但其基礎(chǔ)模型 GPT-3 卻不總是能做到這一點(diǎn)。例如,向 GPT-3 提出一個(gè)問(wèn)題,它可能會(huì)生成另一個(gè)問(wèn)題而不是回答它。
ChatGPT 能做到這一點(diǎn)的原因是它使用了大量的「指令 - 執(zhí)行」數(shù)據(jù)。但對(duì)于普通的開(kāi)發(fā)人員來(lái)說(shuō),這些數(shù)據(jù)是難以獲得的。
基于此,Lamini 提供了一個(gè)托管數(shù)據(jù)生成器,只需幾行代碼即可將 100 個(gè)樣本變成超過(guò) 50k 個(gè)樣本,而不需要啟動(dòng)任何 GPU,并且生成的數(shù)據(jù)是商業(yè)可用的。用戶可以自定義最初的 100 多條指令,以便生成的 5 萬(wàn)條符合要求的指令,最終得到一個(gè)大型指令遵循數(shù)據(jù)集。
Lamini 的數(shù)據(jù)生成器是一個(gè) LLM pipeline,其靈感來(lái)自斯坦福的開(kāi)源模型 Alpaca。這個(gè)生成 pipeline 使用 Lamini 庫(kù)來(lái)定義和調(diào)用 LLM,以生成不同但相似的指令 - 響應(yīng)對(duì)。
托管數(shù)據(jù)生成器生成的數(shù)據(jù)質(zhì)量參差不齊,有的數(shù)據(jù)很好,有的則很差。因此,Lamini 下一步將生成的數(shù)據(jù)過(guò)濾為高質(zhì)量數(shù)據(jù),這個(gè)過(guò)程只需要運(yùn)行一個(gè)如下的簡(jiǎn)單腳本。
importjsonlinesdefmain():dataset=list(load_dataset("data/lamini_dataset.jsonl"))questions=set()filtered_dataset=[]forexampleindataset:ifexample["question"]inquestions:continuefiltered_dataset.append(example)questions.add(example["question"])print(f"Removed{len(dataset)-len(filtered_dataset)}duplicatequestions")save_dataset("data/filtered_lamini_dataset.jsonl",filtered_dataset)defload_dataset(path):withopen(path)asdataset_file:reader=jsonlines.Reader(dataset_file)forexampleinreader:yieldexampledefsave_dataset(path,dataset):withopen(path,"w")asdataset_file:writer=jsonlines.Writer(dataset_file)forexampleindataset:writer.write(example)main()
然后,Lamini 通過(guò)在過(guò)濾后的高質(zhì)量數(shù)據(jù)集上訓(xùn)練基礎(chǔ)模型為用戶創(chuàng)建自定義 LLM。
總的來(lái)說(shuō),Lamini 把微調(diào)模型封裝成一種服務(wù),讓開(kāi)發(fā)者們只用非常簡(jiǎn)單的步驟就能把基礎(chǔ)模型微調(diào)成性能良好的垂類模型,這大幅降低了構(gòu)建 LLM 的技術(shù)門檻。
在社交網(wǎng)絡(luò)上,Lamini 獲得了不少人的歡迎。
不知在此類工具出現(xiàn)后,調(diào)大模型會(huì)不會(huì)變成一件容易的事。
https://lamini.ai/blog/introducing-lamini
關(guān)鍵詞:
推薦閱讀
最新資訊