애플이 공개하지 않은 M4의 15.8TFLOPSFP16
DINKIssTyle

Lv.1 DINKIssTyle (61.♡.73.102)

2026년 7월 28일 PM 04:53

조회 440 공감 0

이것은 무엇인가

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개의 커널:

핵심

기능

sdpaFwd

QKV 투영 + SDPA + 출력 투영

ffnFused

스위글루 FFN (W1, W3, SiLU, W2)

ffnBwdW2t/ffnBwdW13t

FFN 역방향(메모리 분할)

sdpaBwd1/sdpaBwd2

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)

  • Java

    Java Lv.1

    16:55 · 116.♡.70.94

    {완벽히 이해했어 짤}
    입니다. ㅋㅋ

댓글을 작성하려면 이 필요합니다.