Daily LLM / Learning journal

LLMと過ごす、毎日の記録。

学んだこと、試したこと、まだわからないこと。
その日の小さな発見を、日記のように残します。

  1. Learning log

    ブログ記事だと歯抜けしているが、今日は損失関数について学習している。

    学習時に推論の正解例に何%の確率で正解を指定しているか?を損失関数として定義する。が単純に思いつくやり方だが、実際はクロスエントロピーを用いている。

    大量のパラメーターをどうやっていじれば最適になるのかは、勾配降下法と誤差逆伝播法を用いて行われている。

    Optimizerを利用することがおおいい。AdamとかAdamKとか。

    パラメーター事に変更する振れ幅が違う。それならパラメーター事に更新の重みを変えたほうがよくない?となってでてきているのがAdamである。

    Tokenizerの部分で単語をどうやって区切るのか?は気になったけどそっちはそっちでアルゴリズムがあるとのこと。例えば、BPE(Byte Pair Encodingなどがあるとのこと。

    大枠は掴めてきたのでPythonでコード書きながら理解していく方式に移動する

    個別ページで読む
  2. Learning log

    まずは基礎から学んでいく。

    Tokenization

    • 文字を分割して整数の列に変換する

    具体例としては以下 吾輩は猫である

    吾輩→12 は→679 猫→666 である

    Embedding

    数値だけだと猫と犬が近いなどがわからない。 だから、ベクトルに変換しておく [0.1, 0.8, ...,0.9] 学習時にこの値を少しずつ調整する Tokenizeしたときの数値、単語、このベクトルをEmbedding Matrixという表として持っておく

    Attention

    食べただけでも他の文脈が必要。周りのTokenを読んで重要なTokenを計算する。 Query / Key / Valueが重要とのこと


    個別ページで読む