在LangSmith中測試微調的開源模型
本文介紹瞭如何使用LangSmith評估和比較微調後的開源LLM。作者透過微調Llama2-7b和13b模型來生成SQL,並在LangSmith上建立資料集、執行測試、用GPT-4自動評估。結果顯示,13b模型在使用較少資料時仍接近GPT-3.5水平,證明了開源模型的競爭力。
本教程由ChatOpenSource的CTO兼聯合創始人Ryan Brandt撰寫,展示瞭如何利用LangSmith平臺評估和比較微調後的開源大語言模型(LLM)。隨著Mistral 7b和Llama2系列等開源模型的崛起,開發者需要一種高效的方法來替換和比較不同模型,就像在遊戲機上更換卡帶一樣。LangSmith提供了友好的使用者介面和API,幫助建立評估資料集,從而自動化這一過程。
研究流程
專案的目標是微調Llama2-7b和Llama2-13b模型,使用Hugging Face上的sql-create-context資料集。首先將JSON格式的資料轉換為.jsonl用於聊天微調,然後用GPT-4的Code Interpreter從資料集中選取10,000行,再從中選出1,000行作為驗證集(確保不與訓練資料重疊)。這些驗證行被上傳到LangSmith,用於自動化評估。
微調和評估都在8xA40叢集上進行,採用全引數微調(非LoRA)。透過Replicate平臺完成微調和推理:Llama2-7b-chat使用78k行資料,Llama2-13b-chat使用10k行(為控制成本)。之後,在LangSmith上對每個模型執行1,000個提示,用GPT-4作為評判標準,比較模型輸出與已知正確答案。整個過程透過簡單的程式碼即可實現。
發現與結論
結果顯示,Llama2-13b-chat-ft-10k(130億引數)的準確率優於Llama2-7b-chat-ft-78k(70億引數),儘管後者使用了更多資料。這引發了一個問題:如果13b模型也使用78k資料,表現會如何?很可能準確率會隨著訓練資料量和質量的提升而增加。此外,7b模型在響應時間(p50和p99)上表現更優,但13b模型的準確率已接近GPT-3.5-turbo-base,表明最佳化後的開源模型有潛力與閉源模型媲美。
總之,LangSmith支援任何模型(開源或閉源),透過整合資料上傳、測試和自動評估,顯著簡化了模型選型流程。作者也提到,其公司ChatOpenSource提供企業級完全資料私有的聊天替代方案。