我們先從快速瀏覽整個過程
- 首先, 我們需要數(shù)據(jù), 要盡可能使用CSV/Json格式, 基于這些信息, 我們要讓AI獲取所有所需要的信息來正確的完成它的工作
- 準(zhǔn)備數(shù)據(jù), 微調(diào)過程需要很長的書劍才能運行, 我們肯定是不希望出現(xiàn)錯誤的, 所以我們使用OpenAI的數(shù)據(jù)準(zhǔn)備工具(CLI tool)來處理我們的數(shù)據(jù), 讓格式正確, 這樣就不會被拒絕
- 上傳數(shù)據(jù), 告訴OpenAI來制作我們的微調(diào)模型, 同樣的, 我們同樣使用CLI tool來執(zhí)行此操作, 啟動是很快的, 但這可能需要很長時間來處理請求
- 當(dāng)上面這個過程結(jié)束的時候, 我們會有自己特殊的端點, 然后我們可以使用我們新訓(xùn)練的模型來進行對話了
以上就是這整個過程的工作原理, 下面讓我們一步一步的開始操作
1.Get Data
我們需要一些數(shù)據(jù)來微調(diào)我們的模型, 那第一個問題來了: 微調(diào)模型需要多少數(shù)據(jù)?
OpenAI給出了我們建議:
原文: You should provide at least a fewhundred high-quality examples,ideally vetted by human experts.
翻譯: 你應(yīng)該提供至少幾百個高質(zhì)量的例子, 最好由人類專家審查
更重要是, OpenAI說:
原文: Increasing the number of examples isusually the best and most reliable wayofimproving performance.
翻譯: 增加示例數(shù)量, 通常是提高性能最好最可靠的方法
所以, 以上是微調(diào)模型的原則, 這是絕對要記住的
那有了數(shù)據(jù)量, 我們再來談?wù)剶?shù)據(jù)格式
下面是OpenAI官方給出的要求, 希望數(shù)據(jù)為 Json-L
格式, 并給我們一個示例Json-L
是每行都用Json格式化的數(shù)據(jù), 每行都必須是有效的Json, 而且每行都必須以換行符結(jié)尾
當(dāng)然, 你如果不會寫也不要緊, 我們會使用一種特殊的工具來創(chuàng)建它
現(xiàn)在讓我們來使用更簡單的CSV或逗號分隔值數(shù)據(jù), 然后讓OpenAI tool來完成繁重的工作
OpenAI對于我們的數(shù)據(jù)給了一些進一步的標(biāo)準(zhǔn)
原文: Each prompt should end with a separator to showwhere the prompt ends and the completion begins.
翻譯: 每個提示都已分隔符結(jié)尾來顯示提示結(jié)束位置和完成的開始位置
原文: Each completion should start with a whitespace
翻譯: 每個完成都應(yīng)該以空白開始
原文: Each completion should end with a stop sequence toinform the model where the completion ends.
翻譯: 每個完成都應(yīng)該以一個停止序列結(jié)束,以告知模型完成的終點
stop sequence
是什么我們暫時還不需要, 等我們后面到項目用的時候再來討論它
壞消息是: 官方并沒有告訴我們到底想要什么, 甚至是什么是停止序列
, 什么樣的分隔符, 甚至連個例子都沒有
好消息是: 它提供了工具, ↓
看一下這次訓(xùn)練我準(zhǔn)備的數(shù)據(jù)prompt
里給的是關(guān)鍵詞, completion
里給的是回復(fù), 每個數(shù)據(jù)都是來自于真實的數(shù)據(jù)
當(dāng)然, 你也可以不必局限于這個格式, 你也可以直接在下面寫一段總結(jié)式的內(nèi)容, 直接作為 prompt
理想情況下, 我們需要更多的數(shù)據(jù)來訓(xùn)練, 但這里, 我們用這部分?jǐn)?shù)據(jù)來嘗試微調(diào)的工作原理
下面我們開始進行數(shù)據(jù)處理前的準(zhǔn)備
我們將會使用終端來進行數(shù)據(jù)處理, 使用的python3
以及pip
(自己安裝)
升級pip
到最新版 python3 -m ensurepip --upgrade
安裝OpenAI工具 pip install --upgrade openai
這里要特別說明一下, 我們創(chuàng)建的微調(diào)模型是只有我們自己才能使用的, 所以, OpenAI工具需要我們的API秘鑰
你可以使用export OPENAI_API_KEY="sk-vXXXXXXXXXXXXXXXXXXXXXXXXXXX4QbUMjo"
這個命令添加openAI秘鑰
PS: windows系統(tǒng)是不認(rèn)export指令的
所以到這里我們就開始使用CentOS系統(tǒng)了, 上面的操作都在CentOS系統(tǒng)上執(zhí)行一遍
到這個命令為止, 系統(tǒng)并不會返回我們執(zhí)行的結(jié)果, 說明已經(jīng)成功接受了我們的秘鑰
2.Prep Data
截止到當(dāng)前操作, 我們已經(jīng)成功安裝OpenAI CLI并指定上了我們的秘鑰
下面我們開始用它來準(zhǔn)備我們的數(shù)據(jù)
現(xiàn)在, 我已經(jīng)將準(zhǔn)備好的數(shù)據(jù)放到了服務(wù)器上
然后讓我們進入到這個文件夾下, 并執(zhí)行openai tools fine_tunes.prepare_data -f XXXX.csv
這個命令就是來告訴OpenAI使用微調(diào)工具來準(zhǔn)備我們的數(shù)據(jù), -f
標(biāo)識將識別數(shù)據(jù)文件
這里我們遇到了一個問題
我們的終端一直在報: openai: 未找到命令
查閱了一些資料后發(fā)現(xiàn), 可能是由于在使用OpenAI CLI命令時尚未激活虛擬環(huán)境(Virtual Environment)所致
所以我們再來創(chuàng)建一個虛擬環(huán)境
python3 -m venv myenv
source myenv/bin/activate
pip install openai
openai --version
可以看到, 現(xiàn)在確實能夠使用OpenAI CLI了
繼續(xù)重復(fù)上面的命令, 我們又遇到了新的問題
OK, 繼續(xù)安裝pandas
pip install openai pandas
pandas
安裝成功, 我們再來試一下
然后下面的, 都選y就可以了
然后就得到了OpenAI CLI給處理好的Jsonl
文件
現(xiàn)在我們已經(jīng)準(zhǔn)備好我們的數(shù)據(jù)了, 下面就開始進行模型微調(diào)~文章來源:http://www.zghlxwxcb.cn/news/detail-502587.html
關(guān)注一下, 持續(xù)更新~文章來源地址http://www.zghlxwxcb.cn/news/detail-502587.html
到了這里,關(guān)于如何高度優(yōu)化適用于企業(yè)的AI (二) 數(shù)據(jù)準(zhǔn)備的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!