Maskinoversættelse · Engelsk original

Qwen3.5 Chat (On- Device LLM)

Qwen3.5-0.8B er en hybrid DeltaNet (lineær opmærksomhed) + GatedOpmærknings model med 24 lag (18 DeltaNet + 6 GatedAldo), kvantificeret til INT4 til MLX (Metal GPU) og INT8 til CoreML (Neural Engine). Kører videre Mac via MLX eller på iPhone og Mac via CoreML med streaming token generation. Designet til voice pipelines, hvor en on- enhed LLM giver "hjernen" mellem ASR og TTS.

Stemmepipeline klar

Qwen3.5 Chat integrerer med SpeechCore VoicePipeline som LLM komponent i ASR → LLM R. TTS kæder. hybrid DeltaNet arkitektur giver effektiv lineartid opmærksomhed for lange sammenhænge.

Hurtig start

import Qwen3Chat

let chat = try await Qwen35MLXChat.fromPretrained()

// Single response
let response = try chat.generate(messages: [
    ChatMessage(role: .system, content: "Answer briefly."),
    ChatMessage(role: .user, content: "What is Swift?")
])
print(response)

// Streaming tokens
let stream = chat.generateStream(messages: [
    ChatMessage(role: .system, content: "Be funny."),
    ChatMessage(role: .user, content: "Tell me a joke")
])
for try await token in stream {
    print(token, terminator: "")
}

Arkitektur

Qwen3.5-0.8B er en hybrid model med 24 lag: 18 DeltaNet lag (lineær opmærksomhed med gated delta regel gentagelse og RMSNormGated) og 6 GatedOpmærksomhed lag (standard skaleret dot- produkt opmærksomhed). MLX bagenden kører inferens på Metal GPU med safetensorer vægte. CoreML backend bruger en dualmodel arkitektur (prefill + decode) optimeret til Neural Engine. Begge understøtter KV cache med hurtig caching og konfigurerbar prøvetagning (temperatur, top- k, top- p, repetition straight).

Model I / O

RetningNavnFormVarebeskrivelse
Inputinput_ids[1, ff _ len]Token-id 'er (Int32)
Inputattention_mask[1, ff _ len]Opmærksomhed maske (Int32)
Inputkv_cacheper- lagKey- value- cache tilstand
Outputlogits[1, 1, 151936]Next- token logits (Float16)
Outputkv_cache_outper- lagOpdateret KV cache

Model Variants

VariantKvantificeringStørrelseBeregnHuggingFace
Qwen3.5-0.8B ChatINT4418 MBMetal GPU (MLX)aufklarer / Qwen3.5-0.8B-Chat-MLX
Qwen3.5-0.8B ChatINT8981 MBNeural Engine (CoreML)aufklarer / Qwen3.5-0.8B-Chat-CoreML

Konfiguration af prøveudtagning

let config = ChatSamplingConfig(
    temperature: 0.7,
    topK: 40,
    topP: 0.9,
    maxTokens: 128,
    repetitionPenalty: 1.1
)
let response = try chat.generate(
    messages: [ChatMessage(role: .user, content: "Explain gravity")],
    sampling: config
)
ParameterStandardVarebeskrivelse
temperature0.6Tilfældighed (0 = grådighed, 1 = kreativ)
topK50Hold top K kandidater
topP0.95Tærskel for udtagning af prøver af nucleus
maxTokens512Maks. respons- tokens
repetitionPenalty1.1Penalisér gentagne tokens
disableThinkingfalskSkip tænketilstand
maxThinkingTokens100Koste til kortlægning af huler

Multi- turn Conversation

let chat = try await Qwen35MLXChat.fromPretrained()

let history = [
    ChatMessage(role: .system, content: "Remember the user's name."),
    ChatMessage(role: .user, content: "My name is Alex"),
    ChatMessage(role: .assistant, content: "Nice to meet you, Alex!"),
    ChatMessage(role: .user, content: "What's my name?")
]
let response = try chat.generate(messages: history)
print(response)  // "Your name is Alex!"

chat.resetState()  // Clear inference state for a new conversation

Hukommelseshåndtering

// Check memory state
print(chat.isLoaded)        // true
print(chat.memoryFootprint) // 438304768 (~418 MB)

// Free memory under pressure
chat.unload()
print(chat.isLoaded)        // false

// Reload when needed
let chat = try await Qwen35MLXChat.fromPretrained()
iOS hukommelsestip

På iPhone, aflæsning af LLM før TTS inference frees ~418 MB (INT4 MLX) eller ~981 MB (INT8 CoreML), forhindre jetsam opsigelse, når du kører fuld ASR → LLM → TTS rørledninger.

Præstation

EnhedPræcilleDecodeCity in ItalyTokens / sek.
M2 Max~ 50ms~ 65ms / tok~ 15 tok / s
iPhone 16 Pro~ 1,5 s~ 450 ms / tok~ 2.2 tok / s

Konvertering

MLX vægte konverteres fra det oprindelige Qwen3.5-0.8B checkpoint ved hjælp af MLX konverteringsscript. CoreML modeller bruger en separat konvertering script til Neural Engine implementering. Prækonverterede vægte er tilgængelige på HuggingFace på aufklarer / Qwen3.5-0.8B-Chat-MLX (INT4: 418 MB) og aufklarer / Qwen3.5-0.8B-Chat-CoreML (INT8: 981 MB).