Orion: Bypassing CoreML to Run and Train LLMs Directly on Apple Neural Engine

Direct ANE Access for LLM Workloads
Orion provides an end-to-end Objective-C system that bypasses CoreML entirely to run and train LLMs directly on the Apple Neural Engine (ANE). This approach gives developers direct control over the ANE, which has previously been treated as a black-box scheduler by CoreML, stripping away any direct control or ability to train.
Technical Implementation and Constraints
The project builds on reverse-engineering work that mapped the private ANEClient and ANECompiler APIs. The ANE presents what the developer calls a "hardware impedance mismatch" with 17 total programming constraints, 11 of which were completely undocumented. Key constraints include:
- The concat operation causes an immediate, silent compiler failure
- BLOBFILE weights require a 64-byte offset from the chunk header, or you get silent numerical corruption
- The ANE maintains internal state that hard-caps at ~119 compilations per process before silently failing
Solutions to Training Challenges
Previous attempts at ANE training hit NaN divergence after a single step. Orion solves this by:
- Wiring up a deferred compilation pipeline
- Implementing strict activation clamping to stop fp16 overflow cascade (clamping activations to -65504 to +65504)
- Using an exec() process restart loop after every training step to bypass the 119-compilation limit
Performance Results
The compiler lowers a 27-operation graph IR through five optimization passes down to ANE-native MIL. Current performance includes:
- 170+ tokens/s for GPT-2 124M decode
- Mechanically stable multi-step training on a 110M parameter transformer (the "coherence ceiling" of the hardware)
- Over 1,000 steps, loss dropped from 12.3 to 6.2 with zero NaNs
Current Limitations
The ANE bakes weights at compile time, meaning every training update requires a ~4.2s recompilation penalty. The ANE pulls ~19 TFLOPS in fp16, but the fundamental constraint to using it hasn't been compute—it's been the complete lack of a native orchestration layer.
📖 Read the full source: r/LocalLLaMA
👀 See Also

Browser Harness: Giving LLMs raw CDP access to self-correct browser tasks
Browser Harness strips away browser frameworks, giving LLMs direct CDP websocket access and letting them write missing tools mid-task. Demonstrated by self-inventing an upload_file() function.

Savecraft MCP Server Provides Claude with Accurate Magic: The Gathering Data
Savecraft is an open-source MCP server that parses MTG Arena Player.log locally, syncs game state, and gives Claude access to 12 expert reference modules built on real Magic: The Gathering data. The tool prevents Claude from hallucinating card names and rules by providing access to actual Arena data, draft recommendations from 17Lands, and the complete Scryfall database.

Antigravity 2.0 Tops OpenSCAD Architectural 3D Benchmark – ModelRift Tests 6 LLMs on the Pantheon
ModelRift benchmarked 6 LLMs on building the Pantheon in OpenSCAD. Antigravity scored 4.5/5 in architectural quality, beating baseline Codex 5.5. Cursor 3.5 was fastest but weakest.

Security scanning skill for AI coding agents checks deployments automatically
A developer created a skill file that enables AI coding agents to automatically scan their own deployments for exposed .env files, open ports, missing security headers, and leaked source code. The scan runs after every deploy and takes about 30 seconds.