「LLM動かしました」だけ投稿するのもあれですが、こちらと同じノリで。
Hugging Faceに公開されているものであれば、ほぼ同じコードで動かせること、MLflowによって同じようにモデルを管理できることが伝われば幸いです。
ライブラリのインストールから。
%pip install mlflow==2.3.1
%pip install sentencepiece
Python
dbutils.library.restartPython()
Python
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("rinna/japanese-gpt-neox-3.6b", use_fast=False)
model = AutoModelForCausalLM.from_pretrained("rinna/japanese-gpt-neox-3.6b")
if torch.cuda.is_available():
model = model.to("cuda")
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,
min_new_tokens=100,
do_sample=True,
temperature=0.8,
pad_token_id=tokenizer.pad_token_id,
bos_token_id=tokenizer.bos_token_id,
eos_token_id=tokenizer.eos_token_id
)
output = tokenizer.decode(output_ids.tolist()[0])
print(output)
こちらと照らし合わせると合っている感じです。
西田幾多郎は、自らが「意識」の探求者であることを表明しています。そして、「意識」の探究は、対象に還元できない超越的な「自己」の探究につながっていくのだ、とも述べています。 僕は、一個の人間の「自己」には、様々な面があると思っています。 それは、「この世界」で生きる「自己」を超越したもの、というだけではありません。 人間には、無数の「自己」が存在しているのであり、「自己
前回同様モデルをロギングします。
Python
import mlflow
import transformers
# Define the components of the model in a dictionary
transformers_model = {"model": model, "tokenizer": tokenizer}
task = "text-generation"
# Log the model components
with mlflow.start_run():
model_info = mlflow.transformers.log_model(
transformers_model=transformers_model,
artifact_path="text_generation",
task=task,
)
モデルをロードして推論。
Python
# Load the components as a pipeline
loaded_pipeline = mlflow.transformers.load_model(
model_info.model_uri, return_type="pipeline"
)
loaded_pipeline(["AIによって私達の暮らしは、"])
「しかし、」の後が気になります。
Out[4]: [[{'generated_text': 'AIによって私達の暮らしは、より便利で快適なものになるでしょう。 しかし、'}]]
Python
loaded_pipeline(["日本の首都は"])
Out[6]: [[{'generated_text': '日本の首都は東京ですが、その東京の人口が約1300万人です。 それ'}]]
Python
loaded_pipeline(["日本の最北端は"])
Out[7]: [[{'generated_text': '日本の最北端は、北海道の宗谷岬です。 宗谷岬は、日本最'}]]
何も調整しなくともいい感じですね。そして、いい加減ファインチューニング勉強しよう。