投稿

4月, 2024の投稿を表示しています

QEUR23_PHI2SFT20: Unslothを使って、llama3をfinetuneする

イメージ
~ ただし、それを動かすにはいろいろ要求があります ~ ・・・ 前回のつづきです ・・・ QEU:FOUNDER(設定年齢65歳) : “今回で、Finetuneそのもののフレームワークができたと思います。このまま、P2モデルでぶっちぎるか、それとも他の上位モデルに移行するかの瀬戸際にきました。” D先生(設定年齢65歳) : “FOUNDERは、今後もP2(Phi-2)でぶっちぎりですか?” QEU:FOUNDER(設定年齢65歳) : “さすがに、もう(P2ごり押しは)無理だよ。次は、これ(↓)を試しに使ってみようと思うんだ・・・。” D先生(設定年齢65歳) : “学習速度が2倍?こんなすごいことを、どうやってやるんだろうか・・・?” QEU:FOUNDER(設定年齢65歳) : “Unslothの機能は、 「断片化の解消」 らしいよ・・・。” D先生(設定年齢65歳) : “ああ、懐かしい・・・。なるほど、そういうことなのか・・・。” QEU:FOUNDER(設定年齢65歳) : “ただし、学習には開発チームが指定したモデルを使う必要があるし、さらには ハードウェア上の制約 もあるらしいよ。いまのところ、手に入るのはllama3(L3)であり、Phi-3(P3)のリリースはまだです。” D先生: “L3でも十分なパワーがありますからね。問題は、L3-8b程度で、どの程度の外語処理能力を持つのかという点だけです。” QEU:FOUNDER : “じゃあ、やってみようか・・・。プログラムをドン!Unslothにおいて、一番の問題は 「インストールが無事にできるか」 です。” # --- ! pip install -U xformers --index-url https://download.pytorch.org/whl/cu121 ! pip install "unsloth[kaggle-new] @ git+https://github.com/unslothai/unsloth.git" # Temporary fix for https://github.com/huggingface/datasets/issues/6753 ! pip install data...

QEUR23_PHI2SFT19: KeywordとReasoningを併用し、回答の品質を改善できるかを検証する

イメージ
~ 祝!「Phi-3」リリース!(つづき) ~ ・・・ 「Phi-3」がリリースされたのはいいが ・・・ QEU:FOUNDER : “Phi-3って、よさげだなあ。やってみたいなあ・・・。” D先生(設定年齢65歳) : “じゃあ、finetuneしてみれば・・・?” QEU:FOUNDER : “T4程度のGPUでは、エラーがでました(笑)。まあ、しゃあない・・・。地道にトレーニングデータセットの開発を続けましょう。今回は、データセットにKeywordという情報を追加しましょう。” D先生(設定年齢65歳) : “そうすると、カテゴリと情報が重複しません?” QEU:FOUNDER : “そういえばそうだわ・・・。データセットの編集には便利なので、生データには残すが、モデルの学習にはつかわないようにしましょう。” # ------ # プロンプト変換用の関数(AIassistant) def formatting_for_AIassistant ( text_begining , text_medium , reasoning , transformed_input , response , language ): # --- #"category": open_qa,closed_qa,classification,creative,translation,reasoning,brainstorm,q_to_q_ #"language": English,Japanese,Chinese #"field": "technology,culture,math,other,travel,economy,language,history,nature,creative", #"flag": AI assistant, creator, logician, translator # --- if language == "English" : text_all = f ''' ...

QEUR23_PHI2SFT18: Reasoningを使って回答の品質を改善できるかを検証する

イメージ
~ 祝!「Phi-3」リリース! ~ QEU:FOUNDER : “とうとうでたね。” D先生(設定年齢65歳) : “llama-3(L3)のリリースでオープンソースLLMモデルは決まったと思っていました。いきなり、それを追い越してしまうとは・・・。” QEU:FOUNDER : “まあ・・・、両者は基本的なコンセプトが違うからね。L3とP3は・・・。ご存じの通り、小生はP3のアプローチにより共感しています。” QEU:FOUNDER : “ただし、3種のモデルのうち、多言語処理能力が主に影響を受けているようです。” D先生(設定年齢65歳) : “う~ん・・・。我々が今使っているP2モデルって、J語の読み取り能力はどうなんでしょうかね?もちろん、いままでのところJ語作文の能力はあきらめて使っていますが・・・。” QEU:FOUNDER(設定年齢65歳) : “じゃあ、今回はデータセットの開発途中ではありますが、その開発途中データセットをSFT学習させて、どの程度やれるかをもう少し詳細にみてみましょう。” D先生(設定年齢65歳) : “P2って3b位のパラメータ数でしょ?この少ないパラメタで動けばいいなあ・・・。” QEU:FOUNDER(設定年齢65歳) : “今回は、 3分の1ぐらいのレコードに対してReasoningを改良した んですよ。少しだけ学習損失が悪化したが、たぶん学習内容が難しくなったんでしょう。それでは、引き続いて推論をしてみましょう。” D先生(設定年齢65歳) : “前回は、「J国で一番高い山はどこ?」でしたからね。はあ、難しい内容にはついていけないか・・・。” QEU:FOUNDER : “じゃあ、次のハイレベルの質問をしてみましょう。” D先生(設定年齢65歳) : “まあ、地アタマの限界がでたなあ・・・。翻訳自体のパワーは、どうなんですか?” QEU:FOUNDER : “「J語をE語に翻訳」はできるが、「J語をE語に翻訳して、E語で質問に回答」というマルチステップができる段階じゃないのかな・・・。” D先生 : “これは、あえてP3に期待ですね。” QEU:FOUNDER : “P3でもMINIではなく、SMALLになっちゃうのかも・・・。なかなか難しい選択ですね。...