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?

Token ID は LLM に入ると、最初に何になるのか?#07

0
Last updated at Posted at 2026-09-15

前回までの実験で、Hello を Tokenize すると 9707 になることを確認した。

Hello
↓
Tokenize
↓
9707

では、この 9707 は LLM に入ったあと、最初に何になるのだろうか。

今回はそこを少しだけ観察してみる。

今回の疑問

現在わかっているのはここまで。

Hello
↓
Token
↓
Token ID
↓
9707
↓
?

今回は、この ? の部分を観察する。

まだ Transformer の仕組みから答えを探すことはせず、まず実際にモデルの中で何が起きているのかを見てみる。

実験

使用するモデルはこれまでと同じ。

Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf

llama.cpp に含まれている llama-eval-callback を使って、Hello を入力してみる。

/opt/llama.cpp/build-rocm/bin/llama-eval-callback \
  -m /data/models/Qwen3-Coder-30B-A3B-Instruct-Q4_K_M.gguf \
  -p "Hello" \
  -n 1

結果の最初に、入力された Token が表示された。

number of input tokens = 1
  9707

前回確認した通り、

Hello → 9707

になっている。

そして、その直後に次の処理が表示された。

common_debug_cb_eval:                     embd = (f32)   GET_ROWS(token_embd.weight{2048, 151936, 1, 1}, inp_tokens{1, 1, 1, 1}}) = {2048, 1, 1, 1}
    [
        [
            [     -0.0021,       0.0273,      -0.0070,    ...,      -0.0360,       0.0022,       0.0022  ],
        ],
    ]
    sum = 0.902983

観察してみる

まず目につくのがこれ。

GET_ROWS(
    token_embd.weight{2048, 151936, 1, 1},
    inp_tokens{1, 1, 1, 1}
)

そして結果は、

embd = (f32)

で、

{2048, 1, 1, 1}

という形になっている。

中身も見ることができた。

-0.0021
 0.0273
-0.0070
...
-0.0360
 0.0022
 0.0022

つまり、今回実際に観察できたところだけを並べると、

Hello
↓
9707
↓
GET_ROWS(
    token_embd.weight,
    inp_tokens
)
↓
2048個の f32 の値

となった。

以前モデル情報を確認したとき、

qwen3moe.embedding_length = 2048
n_embd = 2048

であることも確認している。

今回出てきた 2048 と一致している。

まだわからない

名前を見ると、

token_embd.weight
embd
GET_ROWS

かなり意味ありげに見える。

ただし、名前だけを見て、

Token ID 9707 が Embedding に変換された

と結論づけるのはまだ早い。

今回の実験で直接確認できたのは、

9707
↓
GET_ROWS(token_embd.weight, inp_tokens)
↓
2048個の f32 の値

というところまで。

まだ、

GET_ROWS は何をしているのか?

inp_tokens の中に 9707 はどう入っているのか?

token_embd.weight の
2048 × 151936 は何を意味しているのか?

なぜ結果が2048個になるのか?

は確認していない。

今回の結論

前回までは、

Hello
↓
9707
↓
?

だった。

今回、その ? を少しだけ覗くことができた。

Hello
↓
Token ID = 9707
↓
GET_ROWS(
    token_embd.weight,
    inp_tokens
)
↓
2048個の f32 の値

Token ID の先には、少なくともこの処理が存在していることを実際に観察できた。

ただ、これが何を意味しているのかはまだわからない。

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?