DINKIssTyle (61.♡.73.102)
2026년 7월 28일 PM 04:53
이것은 무엇인가
Apple Silicon의 ANE에서 실행되는 트랜스포머 학습(순방향 + 역방향 전달)을 처음부터 구현한 프로젝트입니다. ANE는 Apple이 학습용으로 공개하지 않는 15.8 TFLOPS FP16(M4) 추론 가속기입니다. 이 프로젝트는 비공개 API와 MIL(모델 중간 언어) 형식을 역설계하여 _ANEClient역 _ANECompiler전파를 포함한 사용자 지정 컴퓨팅 그래프를 ANE 하드웨어에서 직접 실행합니다.
현재 결과:
모델 | 매개변수 | ms/단계 | 관로 |
|---|---|---|---|
스토리110M (12L, dim=768, MHA 12/12) | 109M | 91밀리초 | 동적(재컴파일 없음) |
Qwen3-0.6B (28L, 희미한=1024, GQA 16/8) | 5억 9600만 | 412ms | 동적(재컴파일 없음) |
모든 순방향 및 역방향 dx 패스는 ANE에서, dW 기울기는 CPU에서 처리됩니다(cblas 가속).
Adam 최적화, 그래디언트 누적, exec()를 통한 체크포인트/재개, 재시작
GQA(Grouped-Query Attention)는 헤드별 타일링/리덕션 기능을 지원합니다.
공유 IOSurface를 통한 GPU↔ANE 제로 카피 파이프라인 (GPU 사전 채우기 → ANE 디코딩)
INT8 W8A8 양자화 — 1.88배 처리량(M4, H16G):
구성 | FP16 | INT8 W8A8 | 속도 향상 |
|---|---|---|---|
128x 변환 512채널 64x64 | 18.6 TOPS, 14.8ms | 35.1 TOPS, 7.8ms | 1.88배 |
64x 변환 512채널 64x64 | 18.4 TOPS, 7.5ms | 34.1 TOPS, 4.0ms | 1.85배 |
INT8 활성화는 MIL quantize/ dequantizeops를 통해 타일 간 L2 SRAM 대역폭을 절반으로 줄입니다. 가중치는 constexpr_affine_dequantize(저장 시 int8, 컴파일 시 fp16)을 사용합니다.
건축학
동적 파이프라인은 가중치가 공간 차원에 패킹된 공유 ANE 커널을 사용합니다(가중치가 변경되어도 재컴파일이 필요하지 않음).
MHA 모델(Stories110M) — 레이어당 6개의 커널:
핵심 | 기능 |
|---|---|
| QKV 투영 + SDPA + 출력 투영 |
| 스위글루 FFN (W1, W3, SiLU, W2) |
| FFN 역방향(메모리 분할) |
| SDPA 역방향 |
GQA 모델(Qwen3-0.6B) — 레이어당 10개의 커널: 그룹화된 쿼리 어텐션(Q_DIM ≠ DIM)을 위해 별도의 커널을 추가 woFwd합니다 .qBwdkvBwd
CPU 처리 항목: RMSNorm 순방향/역방향 계산, 잔차 연결(DeepNet α 스케일링), 손실 계산, dW 기울기 누적(cblas_sgemm), Adam 최적화 프로그램 업데이트.
주요 최적화 사항:
채널 우선 CPU 레이아웃 — ANE IOSurface
[1,C,1,S]형식과 일치하며, 모든 전치 오버헤드를 제거합니다.vDSP 벡터화된 RMSNorm — 기존 방식보다 10배 빠름 (6.7ms → 0.7ms)
GCD 비동기 cblas 오버랩 — dW 기울기 sgemms는 직렬 디스패치 큐에서 ANE 평가와 병렬로 실행됩니다.
지연된 cblas 대기 — 최대 오버랩을 위해 다음 단계의 전진 패스로 대기 시간이 밀려납니다.
ANE RMSNorm 융합 — RMSNorm을 MIL 연산(reduce_sum + pow + mul)으로 포워드 커널에 통합
Wo^T 융합 — 출력 투영이 SDPA 역방향 커널로 역병합됨
순방향 탭 — Q, K, V, 어텐션 점수, 숨겨진 상태는 연결 출력을 통해 노출되어 CPU 재계산을 방지합니다.
exec() 재시작 — 프로세스당 약 119개의 ANE 컴파일 제한을 우회합니다.
https://github.com/maderix/ANE
아래는 흔하디 흔한 X의 어그로 과장체 입니다.
누군가 애플의 Neural Engine을 역설계해서 그 위에서 신경망을 훈련시켰습니다.
애플은 절대 이런 걸 허용하지 않았습니다. ANE는 추론 전용입니다. 공개 API 제로. 문서 제로. SDK 제로.
그래서 이 개발자는 비공개 API를 역설계해서 애플 실리콘에서 직접 역전파를 실행했습니다.
그는 자신의 컴파일러를 만들었습니다. 명령어 세트를 역설계했습니다. 그리고 애플이 첫날부터 잠가놓은 실리콘에서 실제 훈련을 실행했습니다.
→ A100보다 80배 더 전력 효율적
→ 애플의 "38 TOPS" 주장은 거짓말입니다. 실제 수치는 19 TFLOPS FP16
→ 당신의 맥 미니에 있는 칩은 지금까지 내내 유휴 상태로 있었던 겁니다
로컬 AI 훈련. GPU 없음. 클라우드 비용 없음.
100% 오픈 소스.
Github 작성분께서 X같은 과대 광고에 대해 직접 밝혀놓으셨네요.
과대광고에 대하여
이 프로젝트에 대한 일부 보도는 그 의미를 과장했습니다. 분명히 말씀드리자면:
훈련은 효과적이지만 활용률은 낮고(최대치의 약 5~9%), 상당한 엔지니어링 과제가 남아 있습니다.
요소별 연산의 상당 부분은 여전히 CPU에 의존합니다.
이는 현재로서는 소규모 연구 모델 외의 용도에서는 GPU 학습을 대체할 수 없습니다 .
모든 한계를 포함한 솔직한 결과는 첨부된 기사에 기록되어 있습니다.
흥미롭군요~ 이러나 저러나 신경망을 더 뽑아 쓸수 있다니 말입니다.
최근 글
댓글 (1)
-
JJava
16:55 · 116.♡.70.94
댓글을 작성하려면 이 필요합니다.
{완벽히 이해했어 짤}
입니다. ㅋㅋ