qwen3-4b-int8
A Core AI bundle of Qwen/Qwen3-4B for the Aether SDK (iOS and macOS 27+).
- Source:
Qwen/Qwen3-4Bat revision1cfa9a7208912126459214e8b04321603b3df60c, licence Apache-2.0. The licence is included asLICENSE. - Changes from the source: converted from PyTorch to Core AI (
.aimodel) by Aether forge (recipeqwen3-4b-int8@1). Weights are int8-linear-perchannel (8-bit weights). The tokenizer files are the source's own.
Variants
| Variant | Platform | Arch | Compute | Compiled | Assets | Download |
|---|---|---|---|---|---|---|
macos-any-gpu |
macos | any | gpu | no (specialized on first load) | qwen3_4b_int8.aimodel 4.03 GB |
4.04 GB |
ios-any-gpu |
ios | any | gpu | no (specialized on first load) | qwen3_4b_int8.aimodel 4.03 GB |
4.04 GB |
ios-h18p-gpu |
ios | h18p | gpu | yes | qwen3_4b_int8.h18p.aimodelc 4.03 GB |
4.04 GB |
ios-any-gpu needs the com.apple.developer.kernel.increased-memory-limit entitlement.
ios-h18p-gpu needs the com.apple.developer.kernel.increased-memory-limit entitlement.
Verification
Every row is a record in verification/ about exactly these bytes (matched by bundle digest). Reference rows
are strict T2 passes of the unquantized export on the same fixture, in verification/reference/.
| Variant | Tier | Result | Detail | Device | OS build | Compute | Record |
|---|---|---|---|---|---|---|---|
ios-any-gpu |
T0 | pass | iPhone18,2 | 24A446 | target | c2d4b19c |
|
ios-any-gpu |
T2 | pass | 20/20 strict; profile quantized-8bit; fixture 5ea7a2e85ce97881 |
iPhone18,2 | 24A446 | target | a5e13d85 |
ios-any-gpu |
T3 | pass | copy-fidelity-v1; 100.0% vs reference 100.0%; 50 items |
iPhone18,2 | 24A446 | target | 16a6dffe |
ios-h18p-gpu |
T0 | pass | iPhone18,2 | 24A446 | target | 1bc4eff4 |
|
ios-h18p-gpu |
T2 | pass | 20/20 strict; profile quantized-8bit; fixture 5ea7a2e85ce97881 |
iPhone18,2 | 24A446 | target | 2e3efff5 |
ios-h18p-gpu |
T3 | pass | copy-fidelity-v1; 100.0% vs reference 100.0%; 50 items |
iPhone18,2 | 24A446 | target | de525ebc |
macos-any-gpu |
T0 | pass | Mac17,6 | 26A434 | target | 45d0a3c5 |
|
macos-any-gpu |
T1 | pass | Mac17,6 | 26A434 | target | 5eec69f7 |
|
macos-any-gpu |
T2 | pass | 20/20 strict; 20/20 strict; profile quantized-8bit; fixture 5ea7a2e85ce97881 |
Mac17,6 | 26A434 | target | 2456ea1c |
macos-any-gpu |
T3 | pass | copy-fidelity-v1; 100.0% vs reference 100.0%; 50 items |
Mac17,6 | 26A434 | target | a72445b5 |
| unquantized reference (not published) | T2 | pass | 20/20 strict; 20/20 strict; profile strict; fixture 5ea7a2e85ce97881 |
Mac17,6 | 26A434 | target | c361bfea |
The quantized profile also requires: T2 strict on the unquantized reference export (met by the reference row).
Use
aether run qwen3-4b-int8 --prompt "Hello"
import Aether
let aether = try Aether()
let chat = try await aether.chat("qwen3-4b-int8")
let reply = try await chat.respond(to: "Hello")
print(reply.text)