0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Zetaプロジェクト - LLMを自作する道のり

Posted at

(Zennで反響が良かったのでこっちにも投稿しました: 元記事はこちら)

2021年、OpenAIが非営利団体として立ち上げられ、GPTを公開した。
GPT-2までは現在も公開されている。
GPT-3.5のあたりから、ChatGPTについて話題になり、ちょうどその時にOpenAIアカウントを作った。
夢のような体験をした。
その後、GPTの仕組みを応用し、さまざまな企業が会話型のLLMを作り始めた。
その後、あることに気付いた。
誰でも作れるのではないか? と。

はじめに

この記事は、実際にLLMを作った後の、落ち着いてから書いたまとめ的なものです。
もちろんただの素人プログラマーの記事なので、期待しすぎない程度に読んでください。

1. 始まり

まず考えたのは、膨大なデータを無料で提供している場所について。
Wikipediaのデータ量について考え、情報源を探し、Wikipediaが全データを公開しているということがわかった。
ライセンスについては置いておき、自分で使うだけの用途のためとして、作業を始めた。
そして、やはりプログラミングの力が必要になった。
しかし、プログラミングが得意な友人なんているわけがなく、ChatGPT(ただしgpt-3.5-turbo)にお願いした。
出てきたコードはもう保管しておらず、確認はできないのだが、TransformerやTensorFlowすら使わないという意味不明なコードだった。
もちろん、疑うこともできず、普通に実行。
結局、実行している間にあることに気がついてしまった。
Wikipediaって、会話じゃなくてただの知識データじゃん
そう、元々作ろうと思っていたのは会話型のLLM。
一方で、Wikipediaは、人間が知識を増やすために特化したようなサイト。
全く合わないのである。
そして、めんどくさくなった自分は、プロセスを止め、その後結局全然手をつけなかった。

2. 転換点

Pythonが意外と上達してきた時、やはり何かに気がつく。
前にやってたの、全く機械学習じゃねぇじゃん
Wikipedia以前の問題だと気がついた。
その時は死にたくなっていた。
GPTについて調べたところ、Generative Pre-trained Transformerと出てきた。
そう、Transformerについて調べるときが来た。

3. 初めの一歩 Azuki.ai

早速調べ、Pythonにtransformersというライブラリがあることを知った。
ちょうどPythonが上達してきたので、すごく良かった。
そして、HuggingFaceのドキュメントのごく一部を見て、なんとか作成したLLM。
Azuki.ai 1ができた。
名前は、近くにたまたま、おしるこがあったからという、とてもどうでもいい名前だった。
結局、Azuki.aiの作成を続けていた。
もちろん、データセットを手作業で作るのもあり、特にその時は疲れすぎていた時期なので、LLMの回答は全ておかしいものだった。

4. HINODE AI

もう一度作ろうと思えたのは、もうGemma 2が出てきた頃。
さらに良くするために、新しいステップに切り替えたことを名前に反映するため「HINODE AI」とした。
もちろん、モチベーションを上げるためにすぎないが。
そうして、HINODE AIを作成した。
やはり応答はおかしいものの、少しまともになってきた感じだった。
結局、また忘れ去られた。

5. Zeta 1

さて、ここまで来ると、もっとまともなものを作りたくなる。
もちろんAzuki.aiの頃からそのつもりだったが、より張り切っているのだ。
そうして、Zeta 1を作成しようとした。
データセットの質などを考慮しないとして、いろんな人に使ってもらいたい。
結局、英語がいいと判断した。
当時はやはり英語力はないし、今もあまりない。
Google翻訳に感謝しながら作成した。
(一部、別の言語も混ぜておいた)
我らが人間のためのWikipediaを、人間が間に入り、データセットを作るという謎状態で進んでいった。
そうして、意外といい回答をできるようになった、Zeta 1ができた。
(なんと2025年4月の最後らへん。とても最近。)
...疲れた。

6. 親切な人のチーム

多くのLLMは、より速く動かせるように、量子化やGGUFへの変換を、親切な人がやってくれている。
なぜこの話をしているのかというと、Zeta 1を見つけて、さらに量子化とGGUFへの変換をしてくれた人が現れたのだ。
Zeta 1のモデルページのツリーを見て、二度見したのはもちろん、当たり前だが感謝した。
感謝しすぎているため、その人のリンクをここに貼っておこうと思う
(ちなみに、誰でも無料でLLMの変換を依頼できるらしい)

7. Zetaのその後

頑張りすぎて、Zeta 2を5月12日あたりZeta 3は16日という、意味不明なスピードになっていた。
今は疲れて休んでいる。とても褒めて欲しい。
というかこの画像も自作...

おわりに

真似するな、体が壊れるぞ
(実際、パソコンの前にいることが当たり前になり、足が筋肉痛になるのは当たり前、家で歩くのすらしんどいです。)

スクリプトとかをGitHubに公開してるので、体が壊れるのを覚悟で使ってください。
ちなみにZeta 2以降はmradermacherさんに変換の依頼してます。

スクリプト in GitHub
HuggingFace上のZeta 3
みんな大好きOllama...のZeta 3

また別の記事で!Bye!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?