如何使用單個指令微調GPT-3.5或Llama?2
譯文由于在各種任務中的通用性,像ChatGPT和Llama 2這樣的大型語言模型(LLM)廣受歡迎。然而,有些應用程序需要使用自定義數據對這些模型進行微調,以獲得更好的性能。
不幸的是,針對特定應用程序對大型語言模型(LLM)進行微調通常是復雜和令人沮喪的,并且在很大程度上取決于應用程序類型和所需的數據。幸運的是,HyperWrite公司首席執行官Matt Schumer開發了一個非常有用的工具--gpt-llm-trainer,它簡化了Llama 2或GPT-3.5 Turbo的微調過程。
gpt-llm-trainer將微調LLM的復雜任務減少到單個簡單明了的指令,讓用戶更容易根據自己的需求調整這些模型。
gpt-llm-trainer是如何工作的
gpt-llm-trainer采用了一種稱為“模型蒸餾”(Model Distillation)的技術。這個過程在本質上是將知識從一個規模較大的機器學習模型(教師)轉移到一個規模較小的機器學習模型(學生)。在LLM的場景中,模型蒸餾通常涉及教師模型生成特定于任務的訓練示例,這些示例隨后用于訓練規模較小的模型。
gpt-llm-trainer對開發者的任務進行描述,使用GPT-4自動為其要訓練的規模較小模型生成訓練示例。然后,這些示例用于開發者微調選擇的模型,目前包括Llama 2和GPT-3.5 Turbo。
需要注意的是,模型蒸餾并不是一種微調LLM的萬能解決方案。在許多情況下,開發者可能仍然需要經歷手動管理自己數據的艱難過程。然而,模型蒸餾在教師模型的表現上超過學生的情況下被證明特別有效。
為了確定蒸餾是否是完成任務的一種正確方法,開發者可以參考基準績效報告,或者對教師和學生模型進行自己的實證研究。這將幫助開發者做出明智的決定,并優化微調過程。
圖1:LLM模型蒸餾
如何使用gpt-llm-trainer
開發者可以在相關網站訪問gpt-llm-trainer的GitHub頁面。Matt還準備了兩個谷歌Colab筆記本,一個用于GPT-3.5 Turbo,另一個用于Llama 2,這使得無需設置自己的Python環境即可輕松運行它們。
要使用gpt-llm-trainer工具,首先需要一個OpenAI帳戶和一個有效的API密鑰。這把密鑰應該記在筆記本上,上面寫著“你的密鑰在這里”(YOUR KEY HERE)。
在筆記本的第一個單元格中,將輸入任務的描述、所需示例的數量以及溫度,這將調整模型的創造力水平。接下來的步驟很簡單:依次運行單元以生成示例并訓練模型。
如果使用的是Llama 2筆記本,生成的模型將保存到谷歌云盤中。如果使用的是GPT-3.5筆記本,則模型將存儲在開發者的OpenAI帳戶中。
值得注意的是,OpenAI的服務條款禁止使用其LLM來訓練競爭產品的模型。這意味著開發者不能將經過gpt-llm-trainer微調的模型用于商業目的。但可以很容易地使用它來創建自己的寫作或編碼助手或其他個人日常使用的工具。
還要注意的是,數據生成和訓練過程可能很耗時,這取決于開發者希望生成和微調模型的示例數量。由于示例是使用GPT-4生成的,因此監控訓練成本非常重要,可以用不到一美元的費用生成大約50個簡短的訓練樣本。但是,如果計劃生成一個大型數據集,需要謹慎地考慮成本。你可以從生成一小批示例開始,然后評估它們的質量并根據需要調整指令,然后再繼續創建整個數據集。
對于使用Llama 2筆記本的用戶,gpt-llm-trainer將默認微調“NousResearch/ Llama -2-7b-chat-hf”模型,無需填寫申請表即可訪問。如果想調整原來的Meta Llama 2,需要修改代碼并提供Hugging Face密碼。另外,微調將使用Colab的GPU執行,因此請確保將運行環境配置為使用GPU。
改進gpt-llm-trainer
雖然gpt-llm-trainer是一個功能強大的工具,但它基于谷歌Colab的界面并不是最友好的,因為Colab通常不是為生產環境設計的。
此外,還有幾個功能可以增強這個工具的可用性。例如,生成的訓練示例將不會被存儲,并且在Colab會話結束后將被丟棄。但是,這些示例在會話期間存儲在Pandas DataFrame中,并且通過一些編碼,可以將它們導出到CSV文件以供將來使用。
一個有趣的想法是將gpt-llm-trainer移植到Streamlit,這將為微調LLM提供一個更加用戶友好的界面,允許使用開發者自己的訓練示例進行引導,并允許存儲生成的示例以供以后使用。雖然gpt-llm-trainer是LLM蒸餾的一個很好的起點,但是有很多方法可以改進它。
原文標題:How to fine-tune GPT-3.5 or Llama 2 with a single instruction,作者:Ben Dickson
鏈接:https://bdtechtalks.com/2023/11/03/gpt-llm-trainer/