最新の技術を使用して、独自のオープンソースLLMを微調整する

最新の技術を使って、独自のオープンソースLLMを洗練させる

この記事では、ベースのLLama2 LLMをチューニングして、SQLコードを出力します。パラメータ効率の良いファインチューニング技術を使用してプロセスを最適化します。

Source: https://www.pexels.com/photo/calm-body-of-lake-between-mountains-346529/

以前の記事では、なぜ独自のLLMのトレーニングを考慮するかについて説明しました。また、ハードウェアの要件の概要やトレーニングと推論の最適化方法についても簡単に紹介しました。この記事では、オープンソースのLLMをどのようにファインチューニングするかを詳しく説明し、結果を再現するためのコードスニペットを提供します。私たちはLlama2-7Bモデルを調整して、自然言語の入力に基づいてSQLの出力を提供します-つまり、モデルは私たちが自然言語で尋ねる質問を変換します:

「11月の月に卵を買うことを決めた顧客は何人いますか?」

それに対応する結果を取得するSQLクエリ:

SELECT COUNT( DISTINCT customer_id)AS num_customersFROM purchasesWHERE product_name = 'eggs'AND EXTRACT( MONTH FROM purchase_date)= 11;

いずれの場合も、データベース(DB)のスキーマがLLMが作業するためのコンテキストとして提供されます:

CREATE TABLE purchases (    purchase_id INT PRIMARY KEY,    customer_id INT,    product_name VARCHAR(255),    purchase_date DATE);

この調整プロセスでこのデータセットを使用します。この記事は主に上記のタスクを達成することに焦点を当てていますが、手法はチューニングプロセスを自分の要件に合わせて適応することができるように提供されます。

この記事では、LLMのファインチューニングにGoogle Colabを使用します。私たちは、以前に言及したknow_sqlデータセット(OpenRAILライセンス)を使用します。ファインチューニングプロセスを処理するためにaxolotlフレームワークも使用します。彼らのGitHubページには素晴らしいドキュメントがあります。ファインチューニングプロセスを手動で処理するための約100行のコードを書く代わりに、axolotlを使用して対応するモデルのYAML設定ファイルを編集できます。この記事では、具体的なプロセスを実行しますが、何か分からないことがある場合は、axolotlのドキュメントを読むことをお勧めします。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more