Terjemahan mesin · Versi asli bahasa Inggris

Qwen3.5 Chat (On- Device LLM)

Qwen3.5-0.8B adalah hibrida DeltaNet (perhatian linear) + GatedAttention model dengan 24 lapis (18 DeltaNet + 6 GatedAttention), quantized to INT4 untuk MLX (Metal GPU) dan INT8 untuk CoreML (Neural Engine). Mac via MLX atau pada iPhone dan Mac via CoreML dengan menghasilkan streaming token. Dirancang untuk pipa suara dimana perangkat on- LLM menyediakan "otak" antara ASR dan TTS.

Selang Suara Siap

Qwen3.5 Menggabungkan percakapan dengan SpeechCore VoicePipeline sebagai LLM komponen dalam ASR → LLM → TTS hibrida arsitektur DeltaNet menyediakan pengetahuan yang efisien perhatian waktu untuk konteks panjang.

Cepat Mulai

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

Arsitektur

Qwen3.5-0.8B adalah model hybrid dengan 24 lapis: 18 Lapisan DeltaNet (perhatian linear dengan aturan delta gated rekursi dan RMSNormGated) dan 6 Bidang GatedAttention (standard scaled dot- product attention). MLX backend berjalan inferensi pada Metal GPU dengan bobot safetensor. CoreML backend menggunakan sebuah arsitektur dual- model (prefill + decode) dioptimalkan untuk Neural Engine. Keduanya mendukung kV cache dengan cepat caching dan dapat diatur sampling (suhu, top-k, top-p, pengulangan penalti).

Model I / O

ArahNamaBentukDeskripsi
Masukaninput_ids[1, seq _ len]ID Token (Int32)
Masukanattention_mask[1, seq _ len]Perhatian mask (Int32)
Masukankv_cachelapis per-Keadaan cache nilai-kunci
Keluaranlogits[1, 1, 151936]Next- token logits (Float16)
Keluarankv_cache_outlapis per-Singgahan KV terupdate

Variants Model

VarianKuantisasiUkuranKomputerHuggingFace
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

Konfigurasi Sampling

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
)
ParameterBakuDeskripsi
temperature0.6Acak (0 = serakah, 1 = kreatif)
topK50Pertahankan kandidat atas K
topP0.95Ambang sampling Nucleus
maxTokens512Token respon Max
repetitionPenalty1.1Menghukum token berulang
disableThinkingsalahMode berpikir lewati
maxThinkingTokens100Token pikiran cap

Multi- turn Percakapan

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

Manajemen Memori

// 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()
Tip Memori iOS

Pada iPhone, bongkar LLM sebelum TTS incerensi membebaskan ~418 MB (INT4 MLX) atau ~981 MB (INT8 CoreML), mencegah penghentian jetsam ketika berjalan penuh ASR → LLM → TTS Jalur pipa.

Penampilan

PerangkatPrefillDecodeTokens / sec
M2 Max~ 50ms~ 65ms / tok~ 15 tok / s
iPhone 16 Pro~ 1.5s~ 450ms / tok~ 2.2 tok / s

Konversi

Bobot MLX diubah dari pos pemeriksaan asli Qwen3.5-0.8B menggunakan skrip konversi MLX. Model CoreML memakai sebuah konversi terpisah untuk penyebaran Neural Engine terlebih dahulu tersedia pada HuggingFace di aufklarer / Qwen3.5-0.8B-Chat-MLX (INT4: 418 MB) dan aufklarer / Qwen3.5-0.8B-Chat-CoreML (INT8: 981 MB).