GWもLLMに勤しみます。
こちらを見ると、Pre-trainedとtunedがありますね。
おお、dolly
の文字が。
Instruction tuningでdatabricks-dolly-15k-jaが使われています。(私が作ったわけではないですが)嬉しい。DollyはDatabricksが一年前に公開したオープンソースLLMであり、databricks-dolly-15kはファインチューニングの際に用いたテキストコーパスです。Databricks社員が作成しました(私はサボって作成しませんでした)。
ということで、Databricksで動かします。GPUクラスターを準備。
モデルカードに記載されているライブラリのバージョンではうまく動かなかったのですが、Databricksランタイム 14.3 LTS MLデフォルトのライブラリで動きました。
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("llm-jp/llm-jp-13b-instruct-full-dolly-ichikara_004_001_single-oasst-oasst2-v2.0")
model = AutoModelForCausalLM.from_pretrained("llm-jp/llm-jp-13b-instruct-full-dolly-ichikara_004_001_single-oasst-oasst2-v2.0", device_map="auto", torch_dtype=torch.bfloat16)
chat = [
{"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
{"role": "user", "content": "自然言語処理とは何か"},
]
tokenized_input = tokenizer.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
tokenized_input,
max_new_tokens=100,
do_sample=True,
top_p=0.95,
temperature=0.7,
repetition_penalty=1.05,
)[0]
print(tokenizer.decode(output))
以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。
指示:
自然言語処理とは何か
応答:
自然言語処理(NLP)は人工知能とコンピュータサイエンスの一分野であり、自然言語におけるコンピュータと人間の相互作用に焦点を当てている。コンピュータが人間の言語を理解、解釈、生成できるようにするアルゴリズム、モデル、ツールの開発を扱う。
NLPでは、人間が言語を処理する方法と同様の方法で、人間の言語を分析、理解、反応するようにコンピュータを訓練する。
自然です。トークン数を増やして他も試してみます。
chat = [
{"role": "system", "content": "以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。"},
{"role": "user", "content": "江戸時代の流れを簡潔に説明せよ"},
]
tokenized_input = tokenizer.apply_chat_template(chat, add_generation_prompt=True, tokenize=True, return_tensors="pt").to(model.device)
with torch.no_grad():
output = model.generate(
tokenized_input,
max_new_tokens=500,
do_sample=True,
top_p=0.95,
temperature=0.7,
repetition_penalty=1.05,
)[0]
print(tokenizer.decode(output))
以下は、タスクを説明する指示です。要求を適切に満たす応答を書きなさい。
指示:
江戸時代の流れを簡潔に説明せよ
応答:
江戸時代(1603年~1867年)は、日本の歴史において260年以上続いた時代である。この時代には、社会階級、文化、政治、経済など多くのことが変化した。江戸時代の始まりは、徳川家康が征夷大将軍に任命され、江戸に幕府を開いたときに訪れた。徳川家による支配は264年間続いた。
江戸時代の後半には、日本は大きく発展し、世界でも有数の先進国となった。江戸は、現在の東京の首都として機能する、大都市および経済的中心地となった。江戸時代の人口は約100万人で、世界最大の人口を擁していた。
江戸時代には、政治、経済、社会のさまざまな側面で多くの革新的な出来事があった。税金や法律は、現在も使われているモデルの基礎を築いた。教育制度も確立され、世界でも有数の識字率を誇っていた。
農業、製造業、商業、文化活動など、さまざまな分野で繁栄した。しかし、江戸時代の大きな問題のひとつは、失業問題、特に参勤交代の藩士たちの不満だった。江戸時代の社会的、経済的構造は、明治維新の役人たちが近代化を推進する際のモデルとなった。
言語特化にすることで軽量なモデルでも高いパフォーマンスを示すというのは納得です。