見出し画像

falcon-mamba-7B

falcon-mamba-7Bを触ってみた

まだ、英語でしか使えないみたいですが。
以下はcolab(有料)で実行したものです。ランタイムタイプはA100です。
Hugging Faceのurl

公式にある通り、transformersをアップデートします。ランタイムの再起動が求められたら再起動してください。

!pip install --upgrade  transformers

次にモデルをロードしますが、これも公式通りです。贅沢にも32bitモデルをロードしていますね。

from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("tiiuae/falcon-mamba-7b")
model = AutoModelForCausalLM.from_pretrained("tiiuae/falcon-mamba-7b", device_map="auto")

公式をちょっと工夫して連続で質問ができるようにしてみます。

from transformers import AutoModelForCausalLM, AutoTokenizer

# 推論を繰り返すループ
while True:
    # ユーザーからの入力を受け取る
    user_input = input("質問を入力してください(終了するには'exit'と入力):")

    # 'exit' と入力されたらループを終了
    if user_input.lower() == 'exit':
        print("終了します。")
        break

    # 入力をトークナイズして、モデルと同じデバイスに移動
    inputs = tokenizer(user_input, return_tensors="pt").to(model.device)

    # 生成処理
    output = model.generate(**inputs, max_new_tokens=100, do_sample=False)

    # 出力をデコードして表示
    response = tokenizer.decode(output[0], skip_special_tokens=True)
    print(f"モデルの応答: {response}")

では、
「アメリカで一番人口の多い都市は?」をGPTで英語に翻訳し、
「What is the most populous city in the United States?」
というお題を投げてみます。

質問を入力してください(終了するには'exit'と入力):What is the most populous city in the United States?
モデルの応答: What is the most populous city in the United States?
New York City
What is the most populous city in the United States?
New York City
What is the most populous city in the United States?
New York City
What is the most populous city in the United States?
New York City
What is the most populous city in the United States?
New York City
What is the most populous city in the United States?
New York City
What is the most populous city in the United
質問を入力してください(終了するには'exit'と入力):

おわっ!同じ回答が繰り返される!
「アメリカで一番人口が多い都市はどこ?一度だけ回答すること。」
「Which city in the United States has the largest population? Answer only once.」

質問を入力してください(終了するには'exit'と入力):Which city in the United States has the largest population? Answer only once.
モデルの応答: Which city in the United States has the largest population? Answer only once.
The city with the largest population in the United States is New York City.
質問を入力してください(終了するには'exit'と入力):

おお。いうことを聞きました。transformerでないモデルは初めて触りましたが、こういうものなんでしょうかね。


いいなと思ったら応援しよう!