attention_grouped — LLMCORE attend op

• 데이터 종류: tokens × tokens × tokens → tokens

• 호출: import fullseye as fs; fs.ledger.attention_grouped(query, key, value, n_heads: 'int', n_kv_heads: 'int', mask=None, window=None) -> 'np.ndarray'(구현을 직접 호출하려면 import llmcore; llmcore.attention_grouped(query, key, value, n_heads: 'int', n_kv_heads: 'int', mask=None, window=None) -> 'np.ndarray', 원장에서 가져오려면 opsllmcore.get("attention_grouped"))

사용법

헤드를 묶는 어텐션(GQA) → tokens. n_kv_heads == n_heads이면 MHA, == 1이면 MQA와 엄밀히 일치.

Ainslie 등 2023. query는 n_heads개 헤드로 나누고, key/value는 n_kv_heads개 헤드만가진 채 재사용한다. 양 끝이 기존의 2가지(MHA / MQA)로 정확히 떨어지므로(둘 다 0.0e+00) "중간을 취한다"는 주장을 끝에서 검산할 수 있다.

Args:

query: (T, n_heads·dh) float. 헤드마다 폭 dh로 나열되어 있다.

key: (S, n_kv_heads·dh) float.

value: (S, n_kv_heads·dh) float.

n_heads: query의 헤드 수. n_kv_heads의 배수여야 한다.

n_kv_heads: key/value의 헤드 수. 1이면 MQA, n_heads이면 MHA.

mask: None / "causal" / "window" / (T, S)의 bool 배열.

window: mask="window"일 때의 창 폭.

Returns:

tokens (T, n_heads·dh) float: 헤드별 출력을 가로로 연결한 것.

자세한 사용 가이드

• llmcore 패밀리 가이드

참고(샘플 데이터·문헌)

• 샘플 데이터 카탈로그(DL URL / 라이선스) —— 2-D 는 skimage.data(BSD/public)+ 합성, 3-D 는 실데이터 소스(Stanford/PDS 등)의 DL URL.

• 연산자의 내력·참고문헌 —— 이 연산자 족의 바탕이 된 연구/기법의 출처.

• 알고리즘의 정전(저자·연도)과 용도는 위의 패밀리 사용 가이드에 적혀 있습니다.

실행 가능한 예제(이 연산자를 실제로 호출하는 검증된 샘플)

• poc_attention_identities — py -3.11 examples/poc_attention_identities.py

타입이 이어지는 다음 연산자(tokens 를 입력으로 받는 것)

rms_norm · rope_rotate · attention_scores · attention_apply · attention_softmax · attention_tiled · attention_linear · kv_cache_decode

같은 카테고리(attend)

attention_softmax · attention_tiled · attention_linear


*Provenance: llmcore.py — LLMCORE 연산자 레지스트리. 이 op 노트는 tools/opdocs.py md 가 자동 생성합니다(직접 편집하지 마세요).*

© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.