Konekäännös · Englanninkielinen alkuperäinen

Qwen3.5 Keskustelu (On-Device LLM)

Qwen3.5-0.8B on hybridi DeltaNet (lineaarinen huomio) + GatedA Huomio malli, 24 kerrokset (18 DeltaNet + 6 AsteittainenKoheesio), kvantitoitu INT4 B. MLX (Metal GPU) ja INT8 B. CoreML (Neural Engine- Se on käynnissä. Mac via MLX tai iPhonella ja Mac via CoreML streaming token sukupolven. Suunniteltu ääniputkistoihin, joissa on-laite LLM tarjoaa "aivot" välillä ASR sekä TTS.

Ääniputki on valmis

Qwen3.5 Chat integroituu PuheCore VoicePipeline -ketjuun LLM -komponenttina ASR → LLM →TTS -ketjuissa. hybridi DeltaNet-arkkitehtuuri tarjoaa tehokasta lineaarista huomiota pitkissä yhteyksissä.

Pikakäynnistys

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: "")
}

Arkkitehtuuri

Qwen3.5-0.8B on hybridimalli, 24 kerrokset: 18 DeltaNet-kerrokset (lineaarinen huomio aidattu delta-säännön uusiutumisen ja RMSNormiGated) ja 6 AsteittainenAttention kerrokset (vakioasteikolla kiinnitetty piste-tuote huomio). MLX backend kulkee johtopäätöstä Metal GPU turvalaitteiden painot. CoreML backend käyttää kaksoismallin arkkitehtuuria (prefill + decode) optimoitu Neural Engine. Molemmat tukevat KV välimuistia nopealla välimuistilla ja määritettävissä olevalla näytteenotolla (lämpötila, huippu-k, huippu-p, toistorangaistus).

Malli I/O

Suunta NimiMuoto Tavaran kuvaus
Syöteinput_ids[1, sitä seuraavat_len]Token IDs (Int32)
Syöteattention_mask[1, sitä seuraavat_len] Huomiomaski (Int32)
Syötekv_cache kerrosta kohti Avainarvon välimuistitila
Tuotoslogits[1, 1, 151936] Seuraavan tiedon kirjaukset (Float16)
Tuotoskv_cache_out kerrosta kohti Päivitetty KV välimuisti

Mallivaihtoehdot

Variantti Määrä Koko LaskeHuggingFace
Qwen3.5-0.8B ChatINT4418 MtMetal GPU (MLX)aufklarer/Qwen3.5-0.8B-Chat-MLX
Qwen3.5-0.8B ChatINT8981 MtNeural Engine (CoreML)aufklarer/Qwen3.5-0.8B-Chat-CoreML

Näytteenottoasetukset

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
)
ParametriOletus Tavaran kuvaus
temperature0.6Satunnainen (0 = ahne, 1 = luova)
topK50Pitäkää kärki-K-ehdokkaat
topP0.95Nukleus-näytteenoton kynnysarvo
maxTokens512Max vastaus kuponkia
repetitionPenalty1.1Rangaista toistuvia rahakkeita
disableThinking vääräOhita ajattelutila
maxThinkingTokens100Cap-ajattelurahat

Monikäännöksen keskustelu

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

Muistinhallinta

// 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 muistitippi

On iPhone, purkaa LLM ennen TTS Päätelmä418 MB (INT4 MLX) tai981 MB (INT8 CoreML), estää jetsamin lopetus käynnissä täysi ASR → LLM → TTS putkistot.

Tulos

Laite EsitäyttöDekoodaaTakit
M2 Suurin~50m~65m/tok~15 tonnia/s
iPhone 16 Pro~1,5s~450m/t~2,2 tonnia/s

Muuntaminen

MLX painot muunnetaan alkuperäisestä Qwen3.5-0.8B- tarkistuspisteestä käyttäen MLX -muunnosskriptiä. CoreML:n malleissa käytetään erillistä konversioskriptia Neural Engine käyttöönotolle. Esimuunnettuja painoja on saatavilla HuggingFace at aufklarer/Qwen3.5-0.8B-Chat-MLX (INT4: 418 MB) ja aufklarer/Qwen3.5-0.8B-Chat-CoreML (INT8: 981 MB).