🚀 モデルカード
このモデルは、大規模言語モデルであり、GPT関連の技術を用いて構築されています。H2O LLM Studioを使って訓練され、特定のタスクに対して高い性能を発揮します。
🚀 クイックスタート
このモデルを使用するには、まず必要なライブラリをインストールする必要があります。GPUを搭載したマシンでtransformers
ライブラリを使用する場合は、transformers
、accelerate
、torch
ライブラリがインストールされていることを確認してください。
📦 インストール
pip install transformers==4.29.2
pip install einops==0.6.1
pip install accelerate==0.19.0
pip install torch==2.0.0
💻 使用例
基本的な使用法
import torch
from transformers import pipeline
generate_text = pipeline(
model="Ketak-ZoomRx/Drug_Ollama_v3-2",
torch_dtype="auto",
trust_remote_code=True,
use_fast=True,
device_map={"": "cuda:0"},
)
res = generate_text(
"Why is drinking water so healthy?",
min_new_tokens=2,
max_new_tokens=256,
do_sample=False,
num_beams=1,
temperature=float(0.0),
repetition_penalty=float(1.2),
renormalize_logits=True
)
print(res[0]["generated_text"])
高度な使用法
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Ketak-ZoomRx/Drug_Ollama_v3-2"
prompt = "<|prompt|>How are you?</s><|answer|>"
tokenizer = AutoTokenizer.from_pretrained(
model_name,
use_fast=True,
trust_remote_code=True,
)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map={"": "cuda:0"},
trust_remote_code=True,
)
model.cuda().eval()
inputs = tokenizer(prompt, return_tensors="pt", add_special_tokens=False).to("cuda")
tokens = model.generate(
input_ids=inputs["input_ids"],
attention_mask=inputs["attention_mask"],
min_new_tokens=2,
max_new_tokens=256,
do_sample=False,
num_beams=1,
temperature=float(0.0),
repetition_penalty=float(1.2),
renormalize_logits=True
)[0]
tokens = tokens[inputs["input_ids"].shape[1]:]
answer = tokenizer.decode(tokens, skip_special_tokens=True)
print(answer)
🔧 技術詳細
量子化とシャーディング
load_in_8bit=True
または load_in_4bit=True
を指定することで、量子化を使用してモデルをロードすることができます。また、device_map=auto
を設定することで、複数のGPUでのシャーディングが可能です。
モデルアーキテクチャ
LlamaForCausalLM(
(model): LlamaModel(
(embed_tokens): Embedding(32000, 3200, padding_idx=0)
(layers): ModuleList(
(0-25): 26 x LlamaDecoderLayer(
(self_attn): LlamaAttention(
(q_proj): Linear(in_features=3200, out_features=3200, bias=False)
(k_proj): Linear(in_features=3200, out_features=3200, bias=False)
(v_proj): Linear(in_features=3200, out_features=3200, bias=False)
(o_proj): Linear(in_features=3200, out_features=3200, bias=False)
(rotary_emb): LlamaRotaryEmbedding()
)
(mlp): LlamaMLP(
(gate_proj): Linear(in_features=3200, out_features=8640, bias=False)
(down_proj): Linear(in_features=8640, out_features=3200, bias=False)
(up_proj): Linear(in_features=3200, out_features=8640, bias=False)
(act_fn): SiLUActivation()
)
(input_layernorm): LlamaRMSNorm()
(post_attention_layernorm): LlamaRMSNorm()
)
)
(norm): LlamaRMSNorm()
)
(lm_head): Linear(in_features=3200, out_features=32000, bias=False)
)
モデル構成
このモデルはH2O LLM Studioを使用して訓練され、cfg.yamlの設定に基づいています。独自の大規模言語モデルを訓練する方法については、H2O LLM Studioを参照してください。
📄 ライセンス
このリポジトリに提供されている大規模言語モデルを使用する前に、以下の免責事項を注意深くお読みください。このモデルを使用することで、以下の条件に同意したものとみなされます。
⚠️ 重要提示
- バイアスと不快な内容: この大規模言語モデルは多様なインターネットテキストデータで訓練されており、バイアスがある、差別的な、不快な、または不適切な内容が含まれる可能性があります。このモデルを使用することで、生成された内容にバイアスがある、または不快な内容が含まれることを承知し、受け入れるものとします。このリポジトリの開発者は、そのような内容や見解を支持または促進するものではありません。
- 制限事項: この大規模言語モデルはAIベースのツールであり、人間ではありません。誤った、無意味な、または関係のない応答を生成する可能性があります。生成された内容を批判的に評価し、裁量で使用するのはユーザーの責任です。
- 自己責任での使用: この大規模言語モデルのユーザーは、このツールの使用によって生じるすべての結果に対して完全な責任を負う必要があります。このリポジトリの開発者や貢献者は、提供されたモデルの使用または誤用によって生じる損害、損失、または危害について一切の責任を負いません。
- 倫理的な考慮事項: ユーザーは、この大規模言語モデルを責任を持って、倫理的に使用することが推奨されます。このモデルを使用することで、嫌がらせ、差別、嫌悪表現、または違法もしくは有害な活動を促進する目的で使用しないことに同意するものとします。
- 問題の報告: この大規模言語モデルによって生成されたバイアスがある、不快な、または不適切な内容に遭遇した場合は、提供されたチャネルを通じてリポジトリの管理者に報告してください。あなたのフィードバックは、モデルの改善と潜在的な問題の軽減に役立ちます。
- 免責事項の変更: このリポジトリの開発者は、事前の通知なしにこの免責事項を変更または更新する権利を留保します。ユーザーは、定期的に免責事項を確認し、変更について最新の情報を得る責任があります。
このリポジトリに提供されている大規模言語モデルを使用することで、この免責事項に記載されている条件に同意し、遵守することになります。この免責事項のいずれかの部分に同意しない場合は、モデルとそれによって生成された内容の使用を控えてください。