SageMaker での LLM Instruction Tuning

September 25, 2023 · View on GitHub

このプロジェクトには、SageMaker 上で Large Language Models (LLM) をプロンプトでファインチューニング/デプロイするためのサンプルノートブックが含まれています。

3種類のノートブックがあります。

  • *_Inference.ipynb: 事前学習済みモデルをデプロイする。
  • *_Finetune.ipynb: 通常のファインチューニングを行い、モデルをデプロイする。
  • *_LoRA.ipynb: LoRA メソッドを用いたファインチューニングを行い、モデルをデプロイする。

モデルは利用しやすいように以下のような形式の json で学習できるように標準化されています。

[
    {
        "input": "",
        "instruction": "",
        "output": ""
    },
    ...
]

ノートブック一覧

ノートブック説明
Alpaca_LoRA.ipynbAlpaca-LoRA を Alpaca Dataset で LoRA チューニングとデプロイ
Alpaca_Inference.ipynbAlpaca-LoRA をデプロイ
Alpaca_LoRA_ja.ipynbAlpaca-LoRA を日本語 Alpaca Dataset で LoRA チューニングとデプロイ
Alpaca_Inference_ja.ipynb日本語 Alpaca-LoRA をデプロイ
Cerebras_Finetune.ipynbCerebras を Dolly Dataset でファインチューニングとデプロイ
Cerebras_Inference.ipynbCerebras をデプロイ
Cerebras_LoRA.ipynbCerebras を Dolly Dataset で LoRA チューニングとデプロイ
Cerebras_LoRA_ja.ipynbCerebras を 日本語 Dolly Dataset で LoRA チューニングとデプロイ
StableLM_Inference.ipynbStableLM をデプロイ
StableLM_LoRA.ipynbStableLM を Dolly Dataset で LoRA チューニングとデプロイ
StableLM_Inference_ja.ipynbStableLM JP をデプロイ
StableLM_LoRA_ja.ipynbStableLM JP を 日本語 Dolly Dataset で LoRA チューニングとデプロイ
Dolly_v2_Inference.ipynbDolly v2 をデプロイ
Dolly_v2_LoRA.ipynbDolly v2 を Dolly Dataset で LoRA チューニングとデプロイ
OpenCALM_Inference_ja.ipynbOpenCALM をデプロイ
OpenCALM_Inference_jaqket.ipynbOpenCALM をデプロイし JAQKET データセットに対し推論
OpenCALM_LoRA_ja.ipynbOpenCALM を Dolly Dataset で LoRA チューニングとデプロイ
OpenCALM_LoRA_jaqket.ipynbOpenCALM を JAQKET で LoRA チューニングとデプロイ
Rinna_Neox_Inference_ja.ipynbRinna NeoX をデプロイ
Rinna_Neox_LoRA_ja.ipynbRinna NeoX を Dolly Dataset で LoRA チューニングとデプロイ
Rinna_Neox_LoRA_ja_djl.ipynbRinna NeoX を Dolly Dataset で LoRA チューニングと DJL を使用してデプロイ
RWKV_Inference.ipynbRWKV のデプロイ
MPT_Inference.ipynbMPT のデプロイ
MPT_LoRA.ipynbMPT を Dolly Dataset で LoRA チューニングとデプロイ
MPT_LoRA_ja.ipynbMPT を 日本語 Dolly データセットで LoRA チューニングとデプロイ
Falcon_Inference.ipynbFalcon を デプロイ
Falcon_LoRA.ipynbFalcon を Dolly データセットで LoRA チューニングとデプロイ
Falcon_LoRA_ja.ipynbFalcon を 日本語 Dolly データセットで LoRA チューニングとデプロイ
Llama2_LoRA__TGI_ja.ipynbLlama2 を 日本語 Dolly データセットで LoRA チューニングして TGI コンテナでデプロイ
Elyza_Inference_TGI_ja.ipynbElyza を TGI コンテナでデプロイ
Elyza_LoRA_TGI_ja.ipynbElyza を 日本語 Dolly データセットで LoRA チューニングして TGI コンテナでデプロイ
RWKV_Finetune.ipynbRWKV を Dolly Dataset でファインチューニングとデプロイ
RWKV_LoRA.ipynbRWKV を Dolly Dataset で LoRA チューニングとデプロイ
RWKV_LoRA_ja.ipynbRWKV を 日本語 Dolly データセットで LoRA チューニングとデプロイ
RWKV_Inference.ipynbRWKV のデプロイ
RWKV_Inference_ja.ipynb日本語 RWKV Raven のデプロイ

比較評価用

ノートブック説明
OpenAI_Inference_Chat_Completions_jaqket.ipynbOpenAI ChatCompletions API で JAQKET データセットに対し推論
OpenAI_Inference_jaqket.ipynbOpenAI Completions API で JAQKET データセットに対し推論
OpenAI_Finetune_jaqket.ipynbOpenAI API を JAQKET でファインチューニングし推論
OpenAI_Price_Calculator.ipynbOpenAI API の価格を、データのトークン数から試算するための Notebook