ホームページ >テクノロジー周辺機器 >AI >テキスト分類用の微調整llama 3.1

テキスト分類用の微調整llama 3.1

William Shakespeare
William Shakespeareオリジナル
2025-03-05 11:08:09881ブラウズ

このチュートリアルでは、メンタルヘルスセンチメント分析のためのllama 3.1-8b-itモデルの微調整を示しています。 モデルをカスタマイズして、テキストデータから患者のメンタルヘルスの状態を予測し、アダプターをベースモデルとマージし、ハグのフェイスハブに完全なモデルを展開します。 重要なことに、ヘルスケアでAIを使用する場合、倫理的考慮事項が最も重要であることを忘れないでください。この例は、説明のみを目的としています Kaggleを介してLlama 3.1モデルへのアクセスをカバーし、推論のためにトランスライブラリを使用し、微調整プロセス自体を使用します。 LLMの微調整を事前に理解すること(「微調整LLMSの入門ガイド」を参照)は有益です。

Fine-Tuning Llama 3.1 for Text Classification 著者による画像

ラマ3.1 llama 3.1、Meta AIの多言語大手言語モデル(LLM)は、言語の理解と生成に優れています。 8B、70B、および405Bパラメーターバージョンで利用でき、最適化された変圧器を備えた自動回帰アーキテクチャに基づいています。 多様なパブリックデータについて訓練されており、8つの言語をサポートし、128Kのコンテキスト長を誇っています。 その商業ライセンスはすぐにアクセスでき、さまざまなベンチマークでいくつかの競合他社よりも優れています。

出典:llama 3.1(meta.com)

Fine-Tuning Llama 3.1 for Text Classification

kaggleでllama 3.1にアクセスして使用しています

Kaggleの無料GPU/TPUを活用します。 次の手順に従ってください:

meta.comに登録します(Kaggleメールを使用)

llama 3.1 kaggleリポジトリとリクエストモデルアクセスへのアクセス。

提供された「コード」ボタンを使用してKaggleノートブックを起動します
    希望するモデルバージョンを選択し、ノートブックに追加します。
  1. 必要なパッケージをインストールします(
  2. )。
  3. モデルとトークンザーをロードします:
  4. プロンプトを作成し、推論を実行します:%pip install -U transformers accelerate
from transformers import AutoTokenizer, AutoModelForCausalLM, pipeline
import torch

base_model = "/kaggle/input/llama-3.1/transformers/8b-instruct/1"

tokenizer = AutoTokenizer.from_pretrained(base_model)
model = AutoModelForCausalLM.from_pretrained(base_model, return_dict=True, low_cpu_mem_usage=True, torch_dtype=torch.float16, device_map="auto", trust_remote_code=True)
pipe = pipeline("text-generation", model=model, tokenizer=tokenizer, torch_dtype=torch.float16, device_map="auto")
  1. メンタルヘルス分類のための微調整llama 3.1
messages = [{"role": "user", "content": "What is the tallest building in the world?"}]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
outputs = pipe(prompt, max_new_tokens=120, do_sample=True)
print(outputs[0]["generated_text"])

Fine-Tuning Llama 3.1 for Text Classification

のセットアップ:

llama 3.1を使用して新しいKaggleノートブックを開始し、必要なパッケージ(

  1. )をインストールし、「メンタルヘルスの感情分析」データセットを追加します。重みとバイアスを構成します(APIキーを使用)。

  2. データ処理:データセットをロードしてクリーン(あいまいなカテゴリを削除:「自殺」、「ストレス」、「人格障害」)、シャッフル、およびトレーニング、評価、およびテストセットに分割します(効率のために3000サンプルを使用)。 ステートメントとラベルを組み込んだプロンプトを作成します

  3. モデルの読み込み:メモリ効率のために4ビット量子化を使用して、llama-3.1-8b-instructモデルをロードします。トークンザーをロードし、パッドトークンIDを設定します

  4. 事前に調整された評価:

    ラベルを予測し、モデルのパフォーマンスを評価する関数を作成します(精度、分類レポート、混乱マトリックス)。 微調整前のモデルのベースラインパフォーマンスを評価します

  5. 微調整:
  6. 適切なパラメーターを使用してLORAを構成します。トレーニングの議論を設定します(環境に必要に応じて調整します)。

    を使用してモデルをトレーニングします。重みとバイアスを使用して進行状況を監視します。 SFTTrainer

  7. ファインチューニング後の評価:
  8. 微調整後のモデルのパフォーマンスを再評価します

    マージと保存:
  9. 新しいKaggle Notebookで、微調整されたアダプターと
  10. および

    を使用してベースモデルをマージします。マージされたモデルをテストします。最終モデルとトークネザーを抱きしめる顔のハブに保存して押します。 PeftModel.from_pretrained() model.merge_and_unload()

    のようなプレースホルダーを実際のファイルパスに置き換えることを忘れないでください。 完全なコードと詳細な説明は、元の、より長い応答で利用できます。 このコンデンスバージョンは、高レベルの概要とキーコードスニペットを提供します。 機密データを操作するときは、常に倫理的な考慮事項を優先します。

以上がテキスト分類用の微調整llama 3.1の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。