AIを好みに賢くする訓練の仕方
How to Fine-Tune LFM2 Using QLoRA and DPO: A Complete Step-by-Step Coding Tutorial on Google Colab

AIモデルLFM2をQLoRAとDPOで訓練し、賢く好みに改善する手順が公開。目的に合った高性能AIを自分で作れるようになります。
このチュートリアルでは、Liquid AIのLFM2モデルを完全なオープンソースワークフローを通じてfine-tuneします。まず、QLoRAを使ってベースのLFM2チェックポイントをロードし、チャット形式のsupervised fine-tuningデータセットを準備し、TRLとPEFTを使って軽量なLoRAアダプターを訓練し、その後アダプターをモデルにマージします。また、DPOでワークフローを拡張し、選択された回答と拒否された回答を使って応答のpreference(好み)を改善する方法を示します。最終的に、ベースのLFM2モデルからSFT-tunedされ、preference-alignedされたチェックポイントへと移行する実用的なパイプラインが完成し、さらなるテストやデプロイの準備が整います。コードをコピーしました。別のブラウザを使用してください。!pip install -q -U "transformers>=4.55" "trl>=0.12" "peft>=0.13" "datasets>=2.20" "accelerate>=0.34" bitsandbytes import torch, gc from datasets import load_dataset, Dataset from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig from peft import LoraConfig, PeftModel, prepare_model_for_kbit_training from trl import SFTConfig, SFTTrainer, DPOConfig, DPOTrainer MODEL_ID = "LiquidAI/LFM2-1.2B" USE_4BIT = True RUN_DPO = True SFT_SAMPLES = 500 SFT_STEPS = 60 DPO_STEPS = 40 MAX_LEN = 1024 BF16 = torch.cuda.is_available() and torch.cuda.is_bf16_supported() DTYPE = torch.bfloat16 if BF16 else torch.float16 assert torch.cuda.is_available(), "No GPU detected — set Runtime > Change runtime type > GPU" print(f"GPU: {torch.cuda.get_device_name(0)} | dtype={DTYPE} | 4bit={USE_4BIT}")Google Colab内でLFM2をfine-tuningするために必要なすべてのライブラリをインストールします。Transformers、TRL、PEFT、datasets、bitsandbytes、PyTorchから主要なツールをインポートします。また、主要な訓練設定を定義し、利用可能なGPUを検出し、効率的な訓練のために適切な精度を選択します。コードをコピーしました。別のブラウザを使用してください。def load_base(four_bit: bool): quant_cfg = None if four_bit: quant_cfg = BitsAndBytesConfig( load_in_4bit=True, bnb_4bit_quant_type="nf4", bnb_4bit_use_double_quant=True, bnb_4bit_compute_dtype=DTYPE, ) model = AutoM