#836·web-llm

[错误] 在使用 VK_ERROR_DEVICE_LOST 的高通 Adreno GPU 上,WebLLM 引擎初始化失败

作者: opnsrcntrbtr创建于 2026年6月21日更新于 2026年7月25日

□ 总结 在运行Android的Qualcomm Adreno GPUs上,WebLLM引擎在第一次Vulkan队列提交时,以"VK ERROR DEVICE LOST"可靠地启动崩溃. 这个问题在阿德雷诺两代人之间可以复制,无论模型精度,大小或上下文窗口调取,都持续存在. Plain WebGPU 计算操作在同一设备上正确工作,隔离了WebLLM的阴影编译和内核执行路径的失败.

-- -- . . .

□ 环境细节

QQ 设备 1: 低端/ 老阿德雷诺

  • Device模型:I2019
  • Android版本:10
  • GPU: Qualcomm Adreno 6xx
  • 内存:4-6GB
  • Chrome:稳定(版本~120+)
  • ** 成果**:在WebLLM热身期间,`Device丢失了 ' 错误

QQ 设备 2: 中程/ 更新Adreno

  • Device模型:A059(Snapdragon 7s Gen 3)
  • Android版本:16
  • GPU:Qualcomm Adreno 810(SM7635)
  • 内存:~8GB
  • Chrome:稳定(版本~149+)
  • ** Result**: 在WebLLM热身过程中, `vkQuee Submit 与 VK ERROR DEVICE LOST' 错误

QQ WebLLM 细节

  • ** Version**: mlc-ai/[email protected]'(测试时间最近)
  • ** Backend**:Vulkan通过Dawn(Chrome的WebGPU执行)
  • GPU 特性支持: 两种设备都报告“shader-f16”特性可用

-- -- . . .

□ 问题描述

WebLLM引擎初始化("CreateMLCENGine")在Adreno GPUs上热身阶段持续失败. 失败发生在** 产生任何推论符号** 之前,特别是在以下期间:

  1. 编译
  2. GPU设备/排队设置
  3. 第一次计算内核发送

GPU设备已丢失(被Vulkan驱动程序验证),使得WebGPU上下文处于无法使用状态.

-- -- . . .

□ 复制步骤

QQ 设置

  1. 有Qualcomm Adreno GPU的Android设备(测试:Adreno 6xx,Adreno 810)
  2. Chrome (稳定通道,v120+)
  3. WebLLM图书馆(`@mlc-ai/[email protected]')
  4. 任何WebLLM型号(测试时间:`Qwen2.5-0.5B-Instruct-q4f16 1-MLC',"LLaMA-3.2-1B-Instruct-q4f16 1-MLC",均为q4f16和q4f32)

步骤

  1. 验证 WebGPU 可用:`navigator.gpu. requestAdapter ()'返回非null
  2. 从WebLLM目录中调用“CreateMLCENGine(模式Id)”的型号
  3. 发动机初始化期间的观测故障(在 " 保证完成() " 之前)

• 预期行为

  • 引擎成功初始化
  • 推论在没有网络入侵的情况下在当地运行
  • 模型重量下载一次并缓存

实际行为

  • 引擎初始化抛出错误
  • GPU 设备丢失
  • 不重新装入整页就无法恢复

-- -- . . .

□ 错误信件和调试日志

QQ 设备 1( Adreno 6xx / Android 10)

密码生成器 :1 有效的外部实例引用已不存在 。
(原始内容存档于2019-10-12). webllm-vendor-BLCHCT2.js: 1 设备丢失 。 可能是因为内存不足
或其他GPU限制。 详细错误: [对象 GPUDevice LostInfo].
请尝试重新装入WebLLM,使用资源密集度较低的模型.

全堆栈跟踪显示在引擎设置时“ 重装Internal () ” 失败 。

XQ设备 2 (Adreno 810 /) . . . . . . .