在郵政服務分揀郵件的早期,六三八面臨著退回信件被標記為無效的挑戰。這通常是由於他們之前缺乏處理如此大量郵件的經驗而導致的錯誤。隨著時間的推移,他們開發了創新的索引系統,將名稱與軍團和軍銜相匹配,顯著提高了效率和準確性。
同樣,在使用 OpenAI 的大型語言模型 (LLM) 時,理解並遵守所需的輸入格式至關重要。正如索引不當的郵件會導致信件被退回一樣,格式不當的資料也會導致無效的微調和次優結果。 OpenAI 使用 JSONL(JSON Lines)格式作為微調的組織框架,確保資料結構化並準備好進行處理。
為什麼要用 JSONL 格式?
JSONL 格式允許資料以逐行結構存儲,其中每一行代表 JSON 格式的單一記錄。這種結構緊湊、易於閱讀,並且與 OpenAI 的微調 API 相容。正確的格式可確保:
準確度:模型如預期處理數據,避免錯誤。
效率:微調變得無縫且結構一致。
可擴充性:無需複雜的配置即可有效管理大型資料集。
用於微調的 JSONL 格式範例
以下是用於微調 OpenAI 模型的 JSONL 資料通常的格式:
openai_format = { "message":[ {"role":"system","content":system}, {"role":"user","content":""}, {"role":"assistant","content":""} ] }
每筆記錄都包含三個關鍵組成部分:
系統:需要提示
使用者:樣本資料。
助理:資料的標籤
讓轉換
import json df = pd.read_csv('/content/dataset/train.csv', on_bad_lines='skip') final_df = df.head(150) total_tokens = cal_num_tokens_from_df(final_df,'gpt-3.5-turbo') print(f"total {total_tokens}") system ="You are a intelligent assistant designed to classify news articles into three categories :business ,entertainment,sport,tech,politics" with open('dataset/train.jsonl','w') as f: for _,row in final_df.iterrows(): openai_format = { "message":[ {"role":"system","content":system}, {"role":"user","content":row['text']}, {"role":"assistant","content":row['label']} ] } json.dump(openai_format,f) f.write('\n')
回覆範例
{"message": [{"role": "system", "content": "You are a intelligent assistant designed to classify news articles into three categories :business ,entertainment,sport,tech,politics"}, {"role": "user", "content": "qantas considers offshore option australian airline qantas could transfer as"}, {"role": "assistant", "content": "business"}]}
六三八的教訓
六三八在處理郵件方面的早期挑戰凸顯了準備和學習的重要性。他們的索引創新確保了記錄的正確匹配和交付,就像遵守 JSONL 格式可確保微調產生有效且準確的結果一樣。
在微調法學碩士時,以正確的格式理解和建構資料與六三八掌握郵件分類藝術的旅程一樣重要。透過學習歷史和技術,我們可以在解決複雜的物流挑戰方面取得顯著成果。
以上是了解 OpenAI JSONL 格式:組織記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!