天天看點

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

作者:資料學習DataLearner

五一長假最後一天,AI技術的發展依然火熱。今天有2個重磅的開源模型釋出:一個是前幾天提到的Replit的代碼補全大模型Replit Code V1 3B,一個是UC Berkeley的博士生Hao Liu發起的一個開源LLaMA複刻項目。

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

以上資料來自DataLearner預訓練模型庫

這兩個項目都是開源的模型,就模型的前景來說,值得大家關注。

  • Replit的代碼補全模型Replit Code V1 3B
  • LLaMA模型的複刻項目OpenLLaMA釋出

Replit的代碼補全模型Replit Code V1 3B

Replit 是一家線上代碼編輯器和雲IDE公司。它提供一個線上程式設計環境,讓使用者可以編寫代碼并直接運作和調試程式。

2023年4月26日,Replit官方宣布他們正在訓練2個代碼補全模型,一個是replit-code-v1-3b,一個是replit-finetuned-v1-3b。本次開源的是前者。

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

這兩個模型都是27億參數,但官方并未透露二者的具體差别。從名稱看,前者是專注程式設計相關,後者則是通過某種方法微調得到。當時,官方給出了2個對比測試結果,一個是與開源的程式設計模型相比,27億參數的replit-finetuned-v1-3b效果最好,清華大學的CodeGeeX第二,而replit-code-v1-3b得分第三。在非開源的模型對比中,replit-finetuned-v1-3b也取得了第二名的好成績。關鍵是,replit這兩個模型的參數規模相比較其它模型都很小。

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA
5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

2023年5月3日,Replit Code V1-3b正式釋出,并在HuggingFace上開源。模型也有了更多的細節。

Replit Code V1-3b模型主要關注代碼補全的能力,基于Stack Dedup v1.2資料集的一個子集進行訓練,共包含5250億個tokens(資料集本身隻有1750億tokens,Replit将其重複了3個Epochs)。Replit Code V1-3b支援20種程式設計語言的補全能力。下圖是我測試的結果:

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

需要注意的是,該模型從測試看可以很好的識别代碼含義,并做補全。但是,與商業化版本的GitHub Copilot相比,工程化能力有欠缺,例如,它的補全可能不會基于單個方法,而是方法結束之後繼續補全了其它方法。官方也沒有透露效果更好的replit-finetuned-v1-3b未來是否開源,估計按照他們公司的屬性,很有可能作為收費服務在雲端IDE提供。

不過,預訓練結果已經釋出,并且沒有商用限制,基于該模型進行代碼補全插件的二次開發應該十分具有前景。預訓練結果10.4GB,消費級顯示卡估計很難帶動,希望後面有量化版本出現。

Replit Code V1 3B的詳細資訊參考DataLearner上的模型資訊卡:最近幾年AI模型清單 | 參數大小、類型和釋出機構篩選 | 資料學習 (DataLearner)

LLaMA模型的複刻項目OpenLLaMA釋出

OpenLLaMA 7B是UC Berkeley的博士生Hao Liu發起的一個開源LLaMA複刻項目。

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

MetaAI釋出LLaMA模型的時候,在論文中較長的描述了模型的架構、資料集的處理等資訊,并向業界釋出了預訓練結果。但是LLaMA的許可有一個限制是任何基于LLaMA微調的模型都需要從MetaAI申請原始的預訓練結果檔案,不允許私自分發。

OpenLLaMA的目的是從頭開始訓練一個類似LLaMA模型,使用的模型架構、context長度、訓練步驟、學習速率等,完全按照原始的LLaMA論文設定。唯一的差別是OpenLLaMA使用RedPajama資料進行訓練。

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

5月3日,OpenLLaMA釋出第一個訓練結果,即OpenLLaMA 7B模型,70億參數版本的模型,基于2000億tokens的RedPajama資料集訓練。使用Google的TPU-v4s和EasyLM進行訓練。模型提供JAX和PyTorch兩個版本的預訓練結果。訓練過程中的損失函數如下:

5月3日,2個重磅開源AI模型釋出:Replit代碼補全模型和OpenLLaMA

由于OpenLLaMA 7B完全從頭開始訓練,是以無需擷取原始的LLaMA權重,也不需要遵從LLaMA相關的協定。目前官方說法是這個預覽版的預訓練結果和訓練架構都是基于Apache 2.0協定開源。是以商用友好。不過需要注意的是,未來正式版本是否有變更還不确定。

OpenLLaMA 7B的詳細資訊參考DataLearner上的模型卡資訊:OpenLLaMA 7B(OpenLLaMA 7B)詳細資訊 | 名稱、簡介、使用方法 | 資料學習 (DataLearner)

繼續閱讀