prepare optokens → tokensimport fullseye as fs; fs.ledger.rope_rotate(tokens, positions=None, base: 'float' = 10000.0) -> 'np.ndarray' (実装を直接呼ぶなら import llmcore; llmcore.rope_rotate(tokens, positions=None, base: 'float' = 10000.0) -> 'np.ndarray'、台帳から引くなら opsllmcore.get("rope_rotate"))回転による位置符号(RoPE)→ tokens。回転なのでノルムを保つ。
Su ら 2021。偶奇の対 (x₂ᵢ, x₂ᵢ₊₁) を角度 pos · base**(−2i/d) だけ回す。
平面回転の直和なので ‖RoPE(x)‖ == ‖x‖ が厳密に成り立ち(実測 8.9e-16)、
しかも回した 2 本の内積は位置の差だけで決まる(絶対位置を 40 通り動かして幅 8.9e-15)
—— 「相対位置を内積に埋める」という主張が、そのまま検算になる。
Args: tokens: (T, d) float。d は偶数(対にして回すため)。 positions: (T,) の位置。None なら 0..T−1。飛び飛びの位置(切り出した窓)も渡せる。 base: 角度の底。大きいほど低い軸がゆっくり回る(長い文脈向け)。 Returns: tokens (T, d) float: 対ごとに回したもの。行ごとのノルムは入力と同じ。
py -3.11 examples/poc_attention_identities.pytokens を入力に取れる)rms_norm · attention_scores · attention_apply · attention_softmax · attention_tiled · attention_linear · attention_grouped · kv_cache_decode
prepare)Provenance: llmcore.py — LLMCORE operator registry. この per-op ノートは tools/opdocs.py md が自動生成(手編集しない)。
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.