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?

Juliaでゼロから言語モデルを訓練した話(4エポックだけど)

0
Posted at

皆さん、こんにちは。

私はJuliaで、ゼロから言語モデルの訓練を始めました。プリビルドのライブラリは使いませんでした。自分のBPEトークナイザー、自分の訓練ループを書き、「幻覚」にも向き合い、そして書き直しました。

FluxやLuxも試しました。どちらも強力ですが、CUDAの問題や設計の限界もありました。長い試行錯誤の末、私は別の道を見つけました。

そこで鍵となったのが PythonCall です。JuliaからPythonの生態系へ橋をかけ、必要な時だけPythonの力も借りました。それでも、このプロジェクトの中心はあくまでJuliaでした。

この経験で学んだのは、Juliaは「ただのもう一つの言語」ではないということです。Juliaは 本当の理解を得るためのプラットフォーム です。

私の現在の状況:

  • 使っているモデル:LSTM (シンプルなものだけ)
  • 訓練エポック:たったの 4エポック
  • 結果:情報獲得率 24.7% (まだ初心者レベル)
  • パラメータ数:約1億
  • 訓練環境:CPU (GPUなし)

これらを測るために、自分で 「Catdown Analyzer」 という評価ツールも作りました。モデルの損失、パープレキシティ、獲得した情報の割合、残り訓練時間を推定します。

ここで皆さんに質問があります:

「皆さんは、自分だけのデータで、自分だけのモデルをゼロから訓練したことはありますか?」

既存のAPIやファインチューニングではなく、自分でモデルを組み、自分のデータで訓練し、そのモデルが時々「幻覚」を見たり、プロンプトを理解できなかったりする経験です。

多くのAIモデルは「ただの確率の計算」であり、本当の理解をしているわけではありません。損失関数も「近似値」に過ぎません。時には正解し、時には間違える。それでもモデルは学習し続けます。

私が伝えたいこと:
Juliaは、この「ゼロからの構築」を可能にします。多くの課題もありますが、それ以上に可能性を感じています。特に、スピード、メタプログラミング、そしてPythonCallによる相互運用性は、他の言語にはない大きな強みです。

最後に:
コードはまだ公開できません。まずしっかりとドキュメントを整えたいからです。いつか共有できる日を楽しみにしています。ご理解いただければ幸いです。

それでは、良いAIライフを。

(スクリーンショット:訓練中の損失カーブとCatdown Analyzerの結果)
#JuliaLang #機械学習 #言語モデル #LSTM #PythonCall
Capture d’écran du 2026-04-28 01-42-05.png
Capture d’écran du 2026-04-28 01-41-21.png

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?