/a/オープンソース
Published on

「StableLM」のインストール・使い方

1968文字4分で読めます–––
閲覧数
Authors
  • avatar
    Name
    章 有坂
    short bio
    オープンソースソフトウェアのトレンドを追いかけてます。

StableLMは、StabilityAIによって開発されたオープンソースのAI言語モデルです。このプロジェクトは、StabilityLMシリーズの言語モデルの開発を進めており、新しいチェックポイントが継続的に更新されます。現在利用可能なモデルについては、後ほど詳しく説明しますSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。

インストール・導入方法

StableLMモデルはすべてHugging Face Hubでホストされています。以下のPythonコードスニペットを使用して、StableLM-Tuned-Alphaとチャットを始めることができます:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, StoppingCriteria, StoppingCriteriaList

tokenizer = AutoTokenizer.from_pretrained("stabilityai/stablelm-tuned-alpha-7b")
model = AutoModelForCausalLM.from_pretrained("stabilityai/stablelm-tuned-alpha-7b")
model.half().cuda()

class StopOnTokens(StoppingCriteria):
   def __call__(self, input_ids: torch.LongTensor, scores: torch.FloatTensor, **kwargs) -> bool:
       stop_ids = set([50278, 50279, 50277, 1, 0])
       return input_ids[0][-1] in stop_ids

system_prompt = """<|SYSTEM|># StableLM Tuned (Alpha version)
- StableLM is a helpful and harmless open-source AI language model developed by StabilityAI.
- StableLM is excited to be able to help the user, but will refuse to do anything that could be considered harmful to the user.
- StableLM is more than just an information source, StableLM is also able to write poetry, short stories, and make jokes.
- StableLM will refuse to participate in anything that could harm a human.
"""

prompt = f"{system_prompt}<|USER|>What's your mood today?<|ASSISTANT|>"

inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
tokens = model.generate(
 **inputs,
 max_new_tokens=64,
 temperature=0.7,
 do_sample=True,
 stopping_criteria=StoppingCriteriaList([StopOnTokens()])
)
print(tokenizer.decode(tokens[0], skip_special_tokens=True))

このコードは、StableLM-Tuned-Alphaモデルをロードし、ユーザーとの会話を開始します。会話は、特定のトークンが生成されるまで続きますSource 0

使い方

StableLMは、ユーザーがテキストを入力すると、それに応じてテキストを生成します。上記のコードスニペットでは、ユーザーの「今日の気持ちは?」という質問に対して、モデルは自身の状態と反応を説明するテキストを生成します。

このモデルは、さまざまなタスクに使用できます。例えば、情報源として使用する、詩を書く、短い物語を書く、ジョークを作るなどです。重要な点は、StableLMはユーザーに害を及ぼす可能性のある行動を拒否するということですSource 0

※ NordVPNにこちらから新規登録すると、最大73%オフの割引になります。
avatar

章 有坂

オープンソースソフトウェアのプロ / ベテランのソフトウェア技術者 / Github専門家
オープンソースソフトウェアが好きな編集部が、GithubやGitlabなどの新着リポジトリやトレンドのプロジェクトを分かりやすく紹介。