前端开发者的思维转变
Angular顾问兼全栈开发者Sonu Kapoor认为,前端开发者在构建AI模型应用时,需要进行一次思维范式的转变。
迄今为止,AI应用主要依赖于向云端黑盒模型发送API请求,但这远非唯一可行的方案。
Kapoor预测,AI和机器学习(ML)模型的下一个发展方向,将是把模型作为本地资源整合到前端构建流程中。其中一种实现方式,就是下载模型并让它们在用户设备上直接运行。
"我的主要工作经验在于让这些模型在实际产品中发挥作用,尤其是将它们与前端界面和数据仪表盘连接起来,这也是我的专业领域,"Kapoor向The New Stack表示,"这样能让模型真正为用户创造价值,而不仅仅是停留在开发笔记本中。"
将机器学习能力引入前端,将为用户带来性能和数据隐私方面的显著优势。
"目前,机器学习总给人一种神秘感,因为它藏在黑盒子里运作,"Kapoor解释道,"但如果把它移到浏览器中直接运行,情况就完全不同了。对我而言,这更像是纯粹的工程问题,与我的工作方式和思维方式更加契合,而不是依赖云端某个能自动完成所有任务的神秘黑盒。"
本地运行AI模型的优势
开发者选择在本地运行AI模型的首要原因是保护用户隐私。基于云的模型处理需要通过网络传输敏感数据,这在金融科技或医疗健康等领域尤为敏感。Kapoor提到,他曾在金融巨头花旗集团担任高级Angular顾问,期间设计的Electron应用能够在数秒内处理数百万条金融交易记录。
通过ONNX在本地下载并运行模型,敏感数据可以完全留在用户设备上,无需传输到外部服务器。
"隐私是模型应用的一大挑战,因为传统方式需要将数据发送到后端让模型处理,"Kapoor指出,"出于隐私考虑或处理敏感数据时,这种方式可能并不合适。而如果模型直接在本地运行,就能避免这个问题。"
ONNX支持开发者使用本地下载的模型运行应用,有效提升了数据隐私保护水平。
本地运行模型还能带来更出色的离线体验和即时反馈。即使API请求失败,应用仍能提供基于启发式方法的答案或缓存结果,而不会直接崩溃。即便是部分结果,也能让用户体验更加智能和互动。
本地模型让开发者能够构建将推理和自动化能力(而不仅仅是预测功能)直接融入用户工作流程的应用,使应用变得更加智能、更加贴合用户场景。
当然,这并非是二选一的问题。开发者可以灵活结合本地策略和云服务方案。
例如,可以在本地运行轻量级模型处理低延迟需求(如自动补全或意图识别),仅在需要复杂推理时才调用云服务。
同样重要的是,开发者应当对用户保持透明,明确告知哪些功能在本地运行、哪些会连接云端。这意味着应用应该清晰地表明推理过程是在设备上进行还是在远程服务器上完成,让用户了解哪些数据会离开他们的设备。Kapoor建议,即使是一个简单的工具提示或隐私标签,也能在混合使用本地和云模型时增强用户信任。
让模型在浏览器中运行
将AI模型带入浏览器的有效方法之一,是使用开放神经网络交换(ONNX)Runtime Web。这是ONNX Runtime的网页版本,专门设计用于在浏览器环境中通过JavaScript运行机器学习模型。
"你可以在任何工具(如PyTorch或TensorFlow)中训练模型,然后将其导出为ONNX格式,这样就能在任何环境中运行它,"Kapoor解释道,"这使得部署变得非常便捷,尤其当你希望在Python环境外运行模型时,因为许多模型原本都需要Python知识或Python环境才能运行。"
他将ONNX形象地比作机器学习领域的PDF——一种通用格式,让在PyTorch或TensorFlow等框架中训练的模型能够在任何平台上运行。
"探索TensorFlow.js或ONNX Runtime Web的团队很快会发现,模型加载时间和线程阻塞可能会影响用户体验,不过随着技术的持续发展和优化,这些挑战正在逐步得到解决。
|
更多 JavaScript 基础知识的学习,可以学习我写的这本 《JavaScript 语言编程进阶》 小册。 |