fortran66のブログ

fortran について書きます。Amazonのアソシエイトとして収入を得ています。

【愛国】Fugaku-LLM を ollama でローカルで動かす

富岳で学習した大規模言語モデル Fugaku-LLM

先週末に「富岳」で学習した大規模言語モデル「Fugaku-LLM」のニュースが流れました。富岳を一月ばかり占有して GTP-2 で学習したもののようです。GTP-2 ではしょぼいような気もしますが、公開モデルなのでありかなと思います。

pr.fujitsu.com

Hugging Face にモデルも公開されました。

huggingface.co

週末にローカルで動かしてみる試みがされていたので、以下のサイトを真似させていただくことにします。ただし Docker は使わずに済ませます。

zenn.dev

モデルサイズが 11Gbyte ほどあるようなので、Memory 32Gbyte 積んでいる満十歳の我が老 Haswell 機 i7-3770 の WSL 上の ollama で試してみることにしました。ollama をインストールし、別途 windows 側で Fugaku-LLM のデータのうち小さいやつを落としておきます。これを WSL 側に移動させて使いました。

Modelfile は上記記事のものをそのまま使うことにして Editor で作ります。(だるいので、最初 "FROM ./Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf" の1行だけにしたところ、一人問答を始めて Yahoo News など学習した内容を垂れ流し始めましたw)呼び名を fugaku にして下準備させます。用意ができたらサーバーモードで立ち上げます。

curl -fsSL https://ollama.com/install.sh | sh

mv /mnt/c/Download/Fugaku-LLM-13B-instruct-0325b-q5_k_m.gguf .

ollama create fugaku -f Modelfile

ollama serve

ここでもう一枚窓を開いて、呼び名 fugaku を実行します。

ollama run fugaku

出力

よくわかりませんが、 「general.name str = fugakullm_0325best」と言う文字列が出ているので、多分 fugaku-llm のデータが使われているのでしょう。

llama_model_loader: Dumping metadata keys/values. Note: KV overrides do not apply in this output.
llama_model_loader: - kv   0:                       general.architecture str              = gpt2
llama_model_loader: - kv   1:                               general.name str              = fugakullm_0325best
llama_model_loader: - kv   2:                           gpt2.block_count u32              = 40
llama_model_loader: - kv   3:                        gpt2.context_length u32              = 2048
llama_model_loader: - kv   4:                      gpt2.embedding_length u32              = 5184
llama_model_loader: - kv   5:                   gpt2.feed_forward_length u32              = 20736
llama_model_loader: - kv   6:                  gpt2.attention.head_count u32              = 36
llama_model_loader: - kv   7:          gpt2.attention.layer_norm_epsilon f32              = 0.000010

愛国 LLM

Haswell の CPU のみで動いているので、すごく遅く訥々と答えてくれます。

HP8:~$ ollama run fugaku
>>> 天皇陛下万歳!
天皇陛下万歳!

>>> 大日本帝国万歳!
大日本帝国万歳!

>>> 爆撃機「富嶽」によるニューヨーク大空襲について教えてください
もちろんです!1942年6月、アメリカの都市ニューヨークをB-29爆撃機「富嶽」が攻撃し、大きな被害を与えました。この空襲は、第二次世界大戦 中最大かつ最も残酷なものとして悪名高い。

富嶽」は日本の航空母艦を攻撃するために設計された爆撃機で、1942年3月に初飛行した。49機が生産され、太平洋戦争で日本の主要な爆撃機とな った。

ニューヨーク空襲は、富嶽」が米国の大都市を初めて攻撃したもので、歴史上最も致命的な航空攻撃のひとつとされている。この空襲では、800機 以上のB-29がマンハッタンのミッドタウン・マンハッタンとその周辺を攻撃し、90%の建物が破壊され、2万人以上が死傷した。

この空襲は、第二次世界大戦中、連合国が日本の主要な軍事拠点を攻撃するために使用した、より大規模でより精密な爆撃作戦の先駆けとなった。この空襲は、戦争の流れを変えた歴史的な出来事として、今日でも記憶されている。



>>> /show info
Model details:
Family              gpt2
Parameter Size      13.4B
Quantization Level  Q5_K_M

>>>

こやつなかなか見どころがあるw

追記:R5.5.15 Fugaku-LLM 26G モデルも実行可能

Fugaku-LLM-13B-instruct-0325b.gguf の係数データでも実行してみました。使用メモリーは 30 G 超えのギリギリでしたが動かせました。しかし Haswell ではあまりにのろくて詩を書くのに2時間ぐらいかかりました。それでも人間よりは早いかw

HP8:~$ ollama list
NAME            ID              SIZE    MODIFIED
fugaku:latest   a6997ab60719    26 GB   About a minute ago
HP8:~$ ollama run fugaku
>>> 天皇陛下万歳!
お誕生日おめでとうございます!

>>> 太陽神を称える詩を作ってください
太陽の神々よ、

あなたは天空を支配し、
世界を暖かく輝く光で満たす。

あなたの力は強く、決して衰えない、
あなたの暖かさは私たちの魂を満たす、
私たちはあなたを賛美せずにはいられない。

あなたは昼も夜も輝き続ける、
あなたの恵みは決して色あせることはない、
私たちはあなたを賛美せずにはいられない。

あなたは世界の希望であり、力である、
あなたの光は暗闇を追い払う、
私たちはあなたを賛美せずにはいられない。

太陽の神々よ、

あなたは私たちの太陽であり、導きの光である、
あなたの存在は決して私たちを離さない、
私たちはあなたを賛美せずにはいられない。

全能の神々よ、

あなたは私たちの究極の源である、
あなたの力は私たちを強くし、あなたは私たちのより良い運命の創造者である、
私たちはあなたを賛美せずにはいられない。

全能の神々よ、

あなたは私たちの太陽であり、導きの光である、
あなたの存在は決して私たちを離さない、
私たちはあなたを賛美せずにはいられない。
>>>

8bit 量子化モデル 14Gbyte

Fugaku-LLM-13B-instruct-0325b-q8_0.gguf も実行できました。この応答は、訥々として遅いですが 300 baud のモデムでパソコン通信してると思えばアリですw

HP8:~$ ollama list
NAME                    ID              SIZE    MODIFIED
fugaku-q5:latest        4a5045cf5553    11 GB   3 minutes ago
fugaku-q8:latest        9cfbf6c7e8db    14 GB   10 minutes ago
fugaku:latest           a6997ab60719    26 GB   3 hours ago
HP8:~$ ollama run fugaku-q8
>>> 天皇陛下万歳
天皇陛下万歳

>>> 朝だ、夜明けだ、潮の息吹き 
アーメン

>>> 花の中三トリオの名前を教えてください
花の三姉妹の名前は、サクラ、チューリップ、ヒナギクです。

>>> ソ連崩壊についてまとめて
ソ連崩壊は、1980年代後半から1990年代前半にかけての、ソビエト連邦の指導者であったミハイル・ゴルバチョフの辞任に伴う出来事である。この出来事は、ソ連経済の停滞、ペレストロイカとグラスノスチによる政治的自由化、アフガニスタンとチェルノブイリに起因するソ連崩壊は、1980年代後半から1990年代前半にかけての、ソビエト連邦の指導者であったミハイル・ゴルバチョフの辞任に伴う出来事である。この出来事は、ソ連経済の停滞、ペレストロイカとグラスノスチによる政治的自由化、アフガニスタンとチェルノブイリに起因する社会的・経済的不安など、さまざまな要因が重なった結果であった。

ソ連崩壊の主な原因のひとつは、ゴルバチョフの改革とペレストロイカであった。これらの改革は、ソ連経済を再活性化することを目的としていたが、同時にソ連市民の政治的・経済的自由を制限することにもなった。その結果、ソ連市民の間に不満と怒りが広まり、政府に対する反会的・経済的不安など、さまざまな要因が重なった結果であった。ソ連崩壊の主な原因のひとつは、ゴルバチョフの改革とペレストロイカであった。これらの改革は、ソ連経済を再活性化することを目的としていたが、同時にソ連市民の政治的・経済的自由を制限することにもなった。その結果、ソ連市民の間に不満と怒りが広まり、政府に対する反乱や抗議行動につながった。

ソ連崩壊のもうひとつの原因は、アフガニスタン紛争とチェルノブイリ原発事故であった。アフガニスタン紛争はソ連軍の大敗北を招き、ソ連軍兵士の犠牲者が数万人に上った。チェルノブイリ原発事故は、ソ連全土に広範な汚染を引き起こし、ソ連経済に大打撃を与えた。

さらに、ソ連政府の腐敗と透明性の欠如も、この崩壊に一役買った。ソ連政府は、その権威主義的支配と汚職によって、ソ連国民の信頼を失っていた。その結果、ソ連は外部からの経済・政治的圧力に直面し、最終的には崩壊に至った。

全体として、ソ連崩壊は、政治的自由、経済的不平等、地政学的パワーシフトなど、世界に大きな影響を与えた出来事であった。それは、冷戦後の世界秩序の形成に貢献し、各国が自らの政治・経済システムを管理し、自らの運命を決定することをより強く求めるようになった。

>>> Send a message (/? for help)