「LitGPT」を試す
とあるプロジェクトで使用されていたので、少し試してみる。
GitHubレポジトリ
⚡ LitGPT
20+ の高性能 LLM と、大規模な事前学習、ファインチューニング、スケーラビリティに優れたデプロイのためのレシピ
✅ スクラッチから実装 ✅ 抽象化なし ✅ 初心者に優しい ✅ Flash attention ✅ FSDP ✅ LoRA, QLoRA, アダプター ✅ GPU メモリ削減 (fp4/8/16/32) ✅ 1-1000以上の GPU/TPU数 ✅ 20以上 の LLM
超高速で、LLM を使用、ファインチューニング、事前学習、デプロイ⚡⚡
すべての LLM は 抽象化なし かつ 完全な制御 のもとで最初から実装され、エンタープライズスケールで極めて高速、ミニマル、かつ高性能です。
✅ エンタープライズ向け: Apache 2.0 により無制限の企業利用が可能
✅ 開発者に優しい: 抽象化レイヤーがなく、シングルファイル実装でデバッグが容易
✅ 最適化されたパフォーマンス: パフォーマンスの最大化、コスト削減、トレーニングの高速化を実現するモデル設計
✅ 実績のあるレシピ: エンタープライズスケールでテストされた高性能なトレーニング/ファインチューニングレシピ
20以上 の LLM から選択
すべてのモデルは、パフォーマンスの最大化と抽象化レイヤーの排除を目的として、最初から実装されています:
モデル モデルサイズ 作者 参考文献 CodeGemma 7B Google Team, Google Deepmind Code Llama 7B, 13B, 34B, 70B Meta AI Rozière et al. 2023 Falcon 7B, 40B, 180B TII UAE TII 2023 Falcon 3 1B, 3B, 7B, 10B TII UAE TII 2024 FreeWilly2 (Stable Beluga 2) 70B Stability AI Stability AI 2023 Function Calling Llama 2 7B Trelis Trelis et al. 2023 Gemma 2B, 7B Google Team, Google Deepmind Gemma 2 9B, 27B Google Team, Google Deepmind Llama 2 7B, 13B, 70B Meta AI Touvron et al. 2023 Llama 3.1 8B, 70B Meta AI Meta AI 2024 Llama 3.2 1B, 3B Meta AI Meta AI 2024 Llama 3.3 70B Meta AI Meta AI 2024 Mathstral 7B Mistral AI Mistral AI 2024 MicroLlama 300M Ken Wang MicroLlama repo Mixtral MoE 8x7B Mistral AI Mistral AI 2023 Mistral 7B, 123B Mistral AI Mistral AI 2023 Mixtral MoE 8x22B Mistral AI Mistral AI 2024 OLMo 1B, 7B Allen Institute for AI (AI2) Groeneveld et al. 2024 OpenLLaMA 3B, 7B, 13B OpenLM Research Geng & Liu 2023 Phi 1.5 & 2 1.3B, 2.7B Microsoft Research Li et al. 2023 Phi 3 3.8B Microsoft Research Abdin et al. 2024 Phi 4 14B Microsoft Research Abdin et al. 2024 Platypus 7B, 13B, 70B Lee et al. Lee, Hunter, and Ruiz 2023 Pythia {14,31,70,160,410}M, {1,1.4,2.8,6.9,12}B EleutherAI Biderman et al. 2023 Qwen2.5 0.5B, 1.5B, 3B, 7B, 14B, 32B, 72B Alibaba Group Qwen Team 2024 Qwen2.5 Coder 0.5B, 1.5B, 3B, 7B, 14B, 32B Alibaba Group Hui, Binyuan et al. 2024 Qwen2.5 Math 1.5B, 7B, 72B Alibaba Group An, Yang et al. 2024 QwQ 32B Alibaba Group Qwen Team 2024 R1 Distill Llama 8B, 70B DeepSeek AI DeepSeek AI 2025 SmolLM2 135M, 360M, 1.7B Hugging Face Hugging Face 2024 Salamandra 2B, 7B Barcelona Supercomputing Centre BSC-LTC 2024 StableCode 3B Stability AI Stability AI 2023 StableLM 3B, 7B Stability AI Stability AI 2023 StableLM Zephyr 3B Stability AI Stability AI 2023 TinyLlama 1.1B Zhang et al. Zhang et al. 2023 ヒント: 利用可能なすべてのモデルは、
litgpt download list
コマンドで一覧表示できます。
ワークフロー
コマンドラインインターフェースを使用して、プリトレインやファインチューニングなど、独自データに対する高度なワークフローを実行できます。
すべてのワークフロー
LitGPT をインストール後、実行するモデルとワークフロー(ファインチューニング、事前学習、評価、デプロイなど)を選択します:
# ligpt [action] [model] litgpt serve meta-llama/Llama-3.2-3B-Instruct litgpt finetune meta-llama/Llama-3.2-3B-Instruct litgpt pretrain meta-llama/Llama-3.2-3B-Instruct litgpt chat meta-llama/Llama-3.2-3B-Instruct litgpt evaluate meta-llama/Llama-3.2-3B-Instruct
最先端の機能
- ✅ 最先端の最適化技術: Flash Attention v2、完全シャーディングデータ並列によるマルチGPUサポート、任意の CPU オフロード、および TPU と XLA のサポート.
- ✅ プリトレイン、ファインチューニング、および デプロイ
- ✅ 低精度設定により計算要求を削減: FP16、BF16、及び FP16/FP32 混合。
- ✅ 量子化 によるメモリ要求の低減: 4ビット浮動小数点、8ビット整数、及びダブル量子化。
- ✅ 即使用可能な高パフォーマンスを実現する 設定ファイル。
- ✅ パラメータ効率の高いファインチューニング: LoRA、QLoRA、Adapter、及び Adapter v2。
- ✅ 他の一般的なモデルウェイトフォーマットへのエクスポート。
- ✅ プリトレインやファインチューニング用の多数の人気データセット、及び カスタムデータセットのサポート。
- ✅ 最新の研究アイディアを試すために、読みやすく、変更しやすいコード。
推論・トレーニング・評価・ホスティングをぜんぶ一つでできるフレームワーク、という感じ。
推論・トレーニング・評価・ホスティングが可能なクラウドサービスもやっているみたい。
LitGPT quick start
Lightning AIのクラウドでも試せるみたいだけども、今回はローカルのUbuntu-22.04サーバ+RTX4090環境でやってみる。
作業ディレクトリ作成
mkdir litgpt-work && cd litgtp-work
Python仮想環境作成
uv venv -p 3.12.9
LitGPTをインストール
uv pip install 'litgpt[all]'
+ litgpt==0.5.7
利用可能なモデルをリストアップしてみる。
uv run litgpt download list
/WORK/litgpt-work/.venv/lib/python3.12/site-packages/transformers/utils/hub.py:128: FutureWarning: Using `PYTORCH_TRANSFORMERS_CACHE` is deprecated and will be removed in v5 of Transformers. Use `HF_HOME` instead.
warnings.warn(
usage: litgpt [-h] [--config CONFIG] [--print_config[=flags]]
{download,chat,finetune,finetune_lora,finetune_full,finetune_adapter,finetune_adapter_v2,pretrain,generate,generate_full,generate_adapter,generate_adapter_v2,generate_sequentially,generate_tp,convert_to_litgpt,convert_from_litgpt,convert_pretrained_checkpoint,merge_lora,evaluate,serve}
...
error: ArgumentParser._parse_known_args() missing 1 required positional argument: 'intermixed'
エラー⋯-h
とかでも同じ。
Issueが上がっていた。
どうやらパッケージ間でバージョンミスマッチが起きているらしい。lightning
パッケージのバージョンを下げれば良いみたい。
uv pip freeze | grep -i lightning
lightning==2.5.0.post0
lightning-thunder==0.2.1
lightning-utilities==0.14.0
ダウングレード
uv pip install "lightning<2.5.0.post0"
- lightning==2.5.0.post0
+ lightning==2.4.0
で再度litgpt download list
実行してみるも変わらず⋯。Issueの他のコメントにあるjsonargparse
を別のバージョンにしてみる。
uv pip install jsonargparse[signatures]>=4.35.0
- jsonargparse==4.32.1
+ jsonargparse==4.37.0
再度
uv run litgpt download list
今度はいけたっぽい。
モデル一覧(長いので折りたたみ)
Please specify --repo_id <repo_id>. Available values:
allenai/OLMo-1B-hf
allenai/OLMo-7B-hf
allenai/OLMo-7B-Instruct-hf
BSC-LT/salamandra-2b
BSC-LT/salamandra-2b-instruct
BSC-LT/salamandra-7b
BSC-LT/salamandra-7b-instruct
codellama/CodeLlama-13b-hf
codellama/CodeLlama-13b-Instruct-hf
codellama/CodeLlama-13b-Python-hf
codellama/CodeLlama-34b-hf
codellama/CodeLlama-34b-Instruct-hf
codellama/CodeLlama-34b-Python-hf
codellama/CodeLlama-70b-hf
codellama/CodeLlama-70b-Instruct-hf
codellama/CodeLlama-70b-Python-hf
codellama/CodeLlama-7b-hf
codellama/CodeLlama-7b-Instruct-hf
codellama/CodeLlama-7b-Python-hf
deepseek-ai/DeepSeek-R1-Distill-Llama-70B
deepseek-ai/DeepSeek-R1-Distill-Llama-8B
EleutherAI/pythia-1.4b
EleutherAI/pythia-1.4b-deduped
EleutherAI/pythia-12b
EleutherAI/pythia-12b-deduped
EleutherAI/pythia-14m
EleutherAI/pythia-160m
EleutherAI/pythia-160m-deduped
EleutherAI/pythia-1b
EleutherAI/pythia-1b-deduped
EleutherAI/pythia-2.8b
EleutherAI/pythia-2.8b-deduped
EleutherAI/pythia-31m
EleutherAI/pythia-410m
EleutherAI/pythia-410m-deduped
EleutherAI/pythia-6.9b
EleutherAI/pythia-6.9b-deduped
EleutherAI/pythia-70m
EleutherAI/pythia-70m-deduped
garage-bAInd/Camel-Platypus2-13B
garage-bAInd/Camel-Platypus2-70B
garage-bAInd/Platypus-30B
garage-bAInd/Platypus2-13B
garage-bAInd/Platypus2-70B
garage-bAInd/Platypus2-70B-instruct
garage-bAInd/Platypus2-7B
garage-bAInd/Stable-Platypus2-13B
google/codegemma-7b-it
google/gemma-2-27b
google/gemma-2-27b-it
google/gemma-2-2b
google/gemma-2-2b-it
google/gemma-2-9b
google/gemma-2-9b-it
google/gemma-2b
google/gemma-2b-it
google/gemma-7b
google/gemma-7b-it
HuggingFaceTB/SmolLM2-1.7B
HuggingFaceTB/SmolLM2-1.7B-Instruct
HuggingFaceTB/SmolLM2-135M
HuggingFaceTB/SmolLM2-135M-Instruct
HuggingFaceTB/SmolLM2-360M
HuggingFaceTB/SmolLM2-360M-Instruct
keeeeenw/MicroLlama
meta-llama/Llama-2-13b-chat-hf
meta-llama/Llama-2-13b-hf
meta-llama/Llama-2-70b-chat-hf
meta-llama/Llama-2-70b-hf
meta-llama/Llama-2-7b-chat-hf
meta-llama/Llama-2-7b-hf
meta-llama/Llama-3.2-1B
meta-llama/Llama-3.2-1B-Instruct
meta-llama/Llama-3.2-3B
meta-llama/Llama-3.2-3B-Instruct
meta-llama/Llama-3.3-70B-Instruct
meta-llama/Meta-Llama-3-70B
meta-llama/Meta-Llama-3-70B-Instruct
meta-llama/Meta-Llama-3-8B
meta-llama/Meta-Llama-3-8B-Instruct
meta-llama/Meta-Llama-3.1-405B
meta-llama/Meta-Llama-3.1-405B-Instruct
meta-llama/Meta-Llama-3.1-70B
meta-llama/Meta-Llama-3.1-70B-Instruct
meta-llama/Meta-Llama-3.1-8B
meta-llama/Meta-Llama-3.1-8B-Instruct
microsoft/phi-1_5
microsoft/phi-2
microsoft/Phi-3-mini-128k-instruct
microsoft/Phi-3-mini-4k-instruct
microsoft/Phi-3.5-mini-instruct
microsoft/phi-4
mistralai/mathstral-7B-v0.1
mistralai/Mistral-7B-Instruct-v0.1
mistralai/Mistral-7B-Instruct-v0.2
mistralai/Mistral-7B-Instruct-v0.3
mistralai/Mistral-7B-v0.1
mistralai/Mistral-7B-v0.3
mistralai/Mistral-Large-Instruct-2407
mistralai/Mistral-Large-Instruct-2411
mistralai/Mixtral-8x22B-Instruct-v0.1
mistralai/Mixtral-8x22B-v0.1
mistralai/Mixtral-8x7B-Instruct-v0.1
mistralai/Mixtral-8x7B-v0.1
nvidia/Llama-3.1-Nemotron-70B-Instruct-HF
openlm-research/open_llama_13b
openlm-research/open_llama_3b
openlm-research/open_llama_7b
Qwen/Qwen2.5-0.5B
Qwen/Qwen2.5-0.5B-Instruct
Qwen/Qwen2.5-1.5B
Qwen/Qwen2.5-1.5B-Instruct
Qwen/Qwen2.5-14B
Qwen/Qwen2.5-14B-Instruct
Qwen/Qwen2.5-32B
Qwen/Qwen2.5-32B-Instruct
Qwen/Qwen2.5-3B
Qwen/Qwen2.5-3B-Instruct
Qwen/Qwen2.5-72B
Qwen/Qwen2.5-72B-Instruct
Qwen/Qwen2.5-7B
Qwen/Qwen2.5-7B-Instruct
Qwen/Qwen2.5-Coder-0.5B
Qwen/Qwen2.5-Coder-0.5B-Instruct
Qwen/Qwen2.5-Coder-1.5B
Qwen/Qwen2.5-Coder-1.5B-Instruct
Qwen/Qwen2.5-Coder-14B
Qwen/Qwen2.5-Coder-14B-Instruct
Qwen/Qwen2.5-Coder-32B
Qwen/Qwen2.5-Coder-32B-Instruct
Qwen/Qwen2.5-Coder-3B
Qwen/Qwen2.5-Coder-3B-Instruct
Qwen/Qwen2.5-Coder-7B
Qwen/Qwen2.5-Coder-7B-Instruct
Qwen/Qwen2.5-Math-1.5B
Qwen/Qwen2.5-Math-1.5B-Instruct
Qwen/Qwen2.5-Math-72B
Qwen/Qwen2.5-Math-72B-Instruct
Qwen/Qwen2.5-Math-7B
Qwen/Qwen2.5-Math-7B-Instruct
Qwen/QwQ-32B-Preview
stabilityai/FreeWilly2
stabilityai/stable-code-3b
stabilityai/stablecode-completion-alpha-3b
stabilityai/stablecode-completion-alpha-3b-4k
stabilityai/stablecode-instruct-alpha-3b
stabilityai/stablelm-3b-4e1t
stabilityai/stablelm-base-alpha-3b
stabilityai/stablelm-base-alpha-7b
stabilityai/stablelm-tuned-alpha-3b
stabilityai/stablelm-tuned-alpha-7b
stabilityai/stablelm-zephyr-3b
tiiuae/falcon-180B
tiiuae/falcon-180B-chat
tiiuae/falcon-40b
tiiuae/falcon-40b-instruct
tiiuae/falcon-7b
tiiuae/falcon-7b-instruct
tiiuae/Falcon3-10B-Base
tiiuae/Falcon3-10B-Instruct
tiiuae/Falcon3-1B-Base
tiiuae/Falcon3-1B-Instruct
tiiuae/Falcon3-3B-Base
tiiuae/Falcon3-3B-Instruct
tiiuae/Falcon3-7B-Base
tiiuae/Falcon3-7B-Instruct
TinyLlama/TinyLlama-1.1B-Chat-v1.0
TinyLlama/TinyLlama-1.1B-intermediate-step-1431k-3T
togethercomputer/LLaMA-2-7B-32K
Trelis/Llama-2-7b-chat-hf-function-calling-v2
unsloth/Mistral-7B-v0.2
ついでにCLIのUsageも。
uv run litgpt -h
usage: litgpt [-h] [--config CONFIG] [--print_config[=flags]]
{download,chat,finetune,finetune_lora,finetune_full,finetune_adapter,finetune_adapter_v2,pretrain,generate,generate_full,generate_adapter,generate_adapter_v2,generate_sequentially,generate_tp,convert_to_litgpt,convert_from_litgpt,convert_pretrained_checkpoint,merge_lora,evaluate,serve}
...
options:
-h, --help Show this help message and exit.
--config CONFIG Path to a configuration file.
--print_config[=flags]
Print the configuration after applying all other arguments and exit. The optional flags
customizes the output and are one or more keywords separated by comma. The supported flags
are: comments, skip_default, skip_null.
subcommands:
For more details of each subcommand, add it as an argument followed by --help.
Available subcommands:
download Download weights or tokenizer data from the Hugging Face Hub.
chat Chat with a model.
finetune Finetune a model using the LoRA method.
finetune_lora Finetune a model using the LoRA method.
finetune_full Finetune a model.
finetune_adapter Finetune a model using the Adapter method.
finetune_adapter_v2
Finetune a model using the Adapter V2 method.
pretrain Pretrain a model.
generate Default generation option.
generate_full For models finetuned with `litgpt finetune_full`.
generate_adapter For models finetuned with `litgpt finetune_adapter`.
generate_adapter_v2
For models finetuned with `litgpt finetune adapter_v2`.
generate_sequentially
Generation script that partitions layers across devices to be run sequentially.
generate_tp Generation script that uses tensor parallelism to run across devices.
convert_to_litgpt Convert a Hugging Face Transformers checkpoint into a LitGPT compatible checkpoint.
convert_from_litgpt
Convert a LitGPT trained checkpoint into a Hugging Face Transformers checkpoint.
convert_pretrained_checkpoint
Convert a checkpoint after pretraining.
merge_lora Merges the LoRA weights with the base model.
evaluate Evaluate a model with the LM Evaluation Harness.
serve Serve a LitGPT model using LitServe.
ではスクリプト。モデルはgoogle/gemma-2-2b-it
を使ってみる。
from litgpt import LLM
llm = LLM.load("google/gemma-2-2b-it")
text = llm.generate("競馬の魅力を5つリストアップして。")
print(text)
実行
uv run sample.py
途中で切れてるけども。
競馬の魅力を、5つに分けて説明します!
1. **ドキドキとハラハラするレース展開:**
- 予想以上の展開に、会場全体が盛り上がる!
- 勝負の末に勝利を
最大トークン数の設定とかはこの辺に書いてあった。
from litgpt import LLM
llm = LLM.load("google/gemma-2-2b-it")
text = llm.generate("競馬の魅力を5つリストアップして。", max_new_tokens=1024)
print(text)
結果
## 競馬の魅力5選!
1. **予測と偶然の組み合わせ:** 駆け込み馬券で運よく当たる喜びは、まさに「スポーツと賭け」の融合を感じさせる。
2. **情熱と戦略が交錯する競争:** 分析、予想、投票、そしてレース展開。競馬は、競馬記者やレース専門家、そして競馬ファンの共感と熱狂が渦巻く空間だ。
3. **歴史と伝統の重み:** 長い歴史の中で培われた格式と文化。味わえる馬券文化、その背景にある緊張感。
4. **個性と競争力の対比:** それぞれの馬の性格や能力、競争する馬たちの体格や血統。個性的な馬達が舞台で競い合う姿は魅力的だ。
5. **リアルタイムの興奮と予想:** レースが進むにつれ、予想が変化、そして予想と結果が合致した瞬間は、まさに興奮の結晶だ。
競馬は、単なるスポーツではなく、戦略、知識、そして偶然との出会いを楽しむ、まさに時 warp の世界を体感できる特別な体験だ。
リストアップされているモデル以外も使えるのかな?と思ってHugging Faceのモデルを指定してみたけど、どうやら使えないらしい。
from litgpt import LLM
llm = LLM.load("microsoft/Phi-4-mini-instruct")
text = llm.generate("競馬の魅力を5つリストアップして。", max_new_tokens=1024)
print(text)
FileNotFoundError: [Errno 2] No such file or directory: 'checkpoints/microsoft/Phi-4-mini-instruct/model_config.yaml'
どうやらモデルごとの設定ファイルが必要になるみたい。んー、公開されているモデルのconfig.jsonをこのmodel_config.yamlのフォーマットにすればいいだけに思える。対応しているモデルも多分ここで設定しているように思える。
この辺はllama.cppと同じような雰囲気を感じる。公式がサポートしてくれるのを待つ、みたいなところね。
READMEにもあるけど、LitGPTのメリットは全てのワークフローをオールインワンにできるところだと思う。
すべてのワークフロー
LitGPT をインストール後、実行するモデルとワークフロー(ファインチューニング、事前学習、評価、デプロイなど)を選択します:
# ligpt [action] [model] litgpt serve meta-llama/Llama-3.2-3B-Instruct litgpt finetune meta-llama/Llama-3.2-3B-Instruct litgpt pretrain meta-llama/Llama-3.2-3B-Instruct litgpt chat meta-llama/Llama-3.2-3B-Instruct litgpt evaluate meta-llama/Llama-3.2-3B-Instruct
全部は試せないけど、いくつか試してみる。
chat
CLIでチャットができる
uv run litgpt chat google/gemma-2-2b-it
{'access_token': None,
'checkpoint_dir': PosixPath('checkpoints/google/gemma-2-2b-it'),
'compile': False,
'max_new_tokens': 50,
'multiline': False,
'precision': None,
'quantize': None,
'temperature': 0.8,
'top_k': 50,
'top_p': 1.0}
Now chatting with Gemma-2-2b-it.
To exit, press 'Enter' on an empty prompt.
Seed set to 1234
>> Prompt:
入力してみるとこんな感じ。
>> Prompt: こんにちは。
>> Reply: こんにちは! 😊
何か用ですか?
Time for inference: 1.11 sec total, 10.86 tokens/sec, 12 tokens
>> Prompt: 競馬の魅力を簡潔に5つ教えて。
Warning: KV cache has length 61 < 69 = max_seq_length. Call 'set_kv_cache' before doing any forwards!
>> Reply: 競馬の魅力を5つ、簡潔に説明します!
1. **ドキドキ・ワクワクのレース:** 駆け抜けるhorseの動き、そして競争の末の勝敗。予想と結果が一致し、興奮が止まらない
Time for inference: 0.67 sec total, 74.11 tokens/sec, 50 tokens
>> Prompt:
途中で切れてるけど、CLIのオプションでいろいろ設定変更できる。
ただ、これチャット形式のマルチターンになっているだけで、会話履歴とかは保持されていない感がある・・・
serve
モデルのAPIを立ち上げることができる。
uv run litgpt serve google/gemma-2-2b-it --max_new_tokens 2048
{'accelerator': 'auto',
'access_token': None,
'checkpoint_dir': PosixPath('checkpoints/google/gemma-2-2b-it'),
'devices': 1,
'max_new_tokens': 2048,
'port': 8000,
'precision': None,
'quantize': None,
'stream': False,
'temperature': 0.8,
'top_k': 50,
'top_p': 1.0}
INFO: Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)
Swagger UI is available at http://0.0.0.0:8000/docs
INFO: Started server process [2000952]
INFO: Waiting for application startup.
INFO: Application startup complete.
Initializing model...
Using 1 device(s)
Model successfully initialized.
Setup complete for worker 0.
curlでアクセスしてみる。
curl -X POST \
-H "Content-Type: application/json" \
-d '{"prompt": "競馬の魅力を5つ簡潔に教えて。t"}' \
http://XXX.XXX.XXX.XXX:8000/predict | jq -r ".output"
競馬の魅力は、多岐にわたりますが、以下5つを挙げます。
1. **予想とドキドキ:** 馬の走りを分析し、馬券を組む。勝つ喜びと敗北の痛み、そしてその瞬間のドキドキ感は、競馬の魅力です。
2. **歴史と伝統:** 長い歴史を誇る競馬は、文化や社会に根差した伝統的なスポーツです。
3. **競い合い:** 優秀な馬と jockeys の競い合いは、観客の心を掴みます。
4. **豪華さ:** 競馬場は、賑やかな雰囲気と、豪華な施設で、特別な体験を提供します。
5. **人情味:** 競馬場は、人々の集いとなり、様々な人との出会いを通じて、温かい雰囲気と一体感を味わえます。
OpenAI互換APIではない様子。。。。
チューニングや評価などは準備も必要なので、一旦スキップするけど、多分そっちも含めてやらないとメリット感は評価できない気はする。
ここまでの所感
オールインワンでできるってのが良さだと思って試してみたのだけど、トレーニングを除いた実行環境だけで判断するなら正直メリット感は薄くて、
- LitGPTがサポートしているモデルが前提。サポートしていないモデルの場合は、公式のサポートを待つか、自分で何かしら手をいれる必要がありそう。
- モデルをAPI化できるが、OpenAI互換APIではない。他のツールとのインテグレーションが面倒。
- quickstartレベルのCLIでコケるのは正直体験が悪い。
などのデメリットのほうが目についてしまった。やはりトレーニングも含めたフレームワークとしての確認するのが正しい評価だと思う。
根拠はまったくないのだけど、なんとなくクラウド使うのが正解のような気もするなぁ・・・あまり日本語での情報がないってのも気になるところ。
気が向いたらやり直すかも。