書きかけ。
https://note.com/kun1emon/n/n1533345d5d26
LLM
大規模言語モデル
GPT
OPT
LLaMA
FaceBook製LLM。
Alpaca
LLaMAをスタンフォード大学がファインチューニングするプロジェクト。
LLaMAの7B程度のモデルでもtext-davinci-003(17.5B)と似た出力をする。
AlpacaはLLaMAをtext-davinci-003が生成したデータでSelf-Instructしたモデルであり、LLaMAのLoRAバージョンがAlpacaというわけではない。LLaMAのLoRAバージョンはAlpaca-LoRA。
Alpaca-LoRA
AlpacaをLoRAを用いて再現するプロジェクト。AlpacaがFine Tuningに利用したデータ alpaca_data.json
を元に、LoRAで再現をする。
Alpaca-LoRAを日本語の文脈でよく見る謂れ
テキスト生成するだけならAlpacaもAlpaca-LoRAも似たような負荷だけれど、ファインチューニングする場合はLoRAに優位性がある。いわゆる日本語版Alpacaの作者であるkun1em0n氏も、LoRAがめっちゃ優秀とおっしゃっている。(6時間がどれくらいの尺度なのか私はわかっていない。)
https://twitter.com/kun1em0n/status/1638109226462748672
雑なイメージ、知識を大量に保有するでかい言語モデルであるLLaMAを、別のAIで生成した命令文を使って出力をよりよく、計算リソースも効率化しようとしたのがAlpaca…なはず。
Hugging Face Transformers
🤗 様々な言語モデルを共通のインターフェースで利用することができるライブラリ。BERTやらGPTやら様々な学習済みモデルをコード上から簡単に扱える。
Tokenizer
入力テキストを各モデルが利用できる形(=トークン)に変化することができる。
BERT
言語モデルの一つ。Google製。
知識蒸留
…
Self-Instruct
[2212.10560] Self-Instruct: Aligning Language Model with Self Generated Instructions
- Alpacaで使われている
LoRA low-rank adaptation
低ランク適応。大規模なモデルの出力を使って小規模なモデルを学習(?)させ、計算に必要なコストを削減する手法。
- Alpaca-LoRAで使われている
ファインチューニングしやすい