メインコンテンツへスキップ
見出し画像

Google Colab で Weblab-10B を試す

    「Google Colab」で「Weblab-10B」を試したので、まとめました。

    【注意】Google Colab Pro/Pro+のA100で動作確認しています。

    1. Weblab-10B

    「Weblab-10B」は、「東京大学松尾研究室」が開発した、100億パラメータサイズ・日英2ヶ国語対応の大規模言語モデルです。

    2. Weblab-10Bのモデル

    「Weblab-10B」では、次の2種類のモデルが公開されています。

    ・matsuo-lab/weblab-10b : ベースモデル
    ・matsuo-lab/weblab-10b-instruction-sft : 指示モデル

    3. Colabでの実行

    Colabでの実行手順は、次のとおりです。

    (1) パッケージのインストール。

    # パッケージのインストール
    !pip install transformers sentencepiece accelerate bitsandbytes

    (2) トークナイザーとモデルの準備。
    今回は、指示モデル (matsuo-lab/weblab-10b-instruction-sft) を利用しています。

    import torch
    from transformers import AutoTokenizer, AutoModelForCausalLM
    
    # トークナイザーとモデルの準備
    tokenizer = AutoTokenizer.from_pretrained(
        "matsuo-lab/weblab-10b-instruction-sft"
    )
    model = AutoModelForCausalLM.from_pretrained(
        "matsuo-lab/weblab-10b-instruction-sft",
        torch_dtype=torch.float16,
        device_map="auto",
    )

    (3) 推論の実行。

    # プロンプトの準備
    text = """以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。
    
    ### 指示:
    まどか☆マギカでは誰が一番かわいい?
    
    ### 応答:
    """
    
    # 推論の実行
    token_ids = tokenizer.encode(text, add_special_tokens=False, return_tensors="pt")
    with torch.no_grad():
        output_ids = model.generate(
            token_ids.to(model.device),
            max_new_tokens=100,
            do_sample=True,
            temperature=0.7,
            top_p=0.9,
        )
    output = tokenizer.decode(output_ids.tolist()[0])
    print(output)
    以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。
    
    ### 指示:
    まどか☆マギカでは誰が一番かわいい?
    
    ### 応答:
    まどかは、魔法少女たちの中で最もかわいいです。
    <|endoftext|>



     
     
     

    npaka

     
     
    プログラマー。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガジェット。年2冊ペースで技術書を執筆。アニソン / カラオケ / ギター / 猫 twitter : @npaka123

    あなたへのおすすめ