• WebGPT VS WebGPU


    推荐:使用 NSDT编辑器 快速搭建3D应用场景

    随着WebGPU的引入,Web开发发生了有趣的转变,WebGPU是一种新的API,允许Web应用程序直接访问设备的图形处理单元(GPU)。这种发展意义重大,因为 GPU 擅长复杂的计算。

    一个说明WebGPU潜力的项目是WebGPT。这是一个用JavaScript和HTML编写的简单应用程序,旨在展示WebGPU API的功能。

    在这篇文章中,我们将讨论为什么 WebGPT 很重要以及如何在本地和浏览器中实现它。我们走吧!

    跳跃前进:

    • 什么是 WebGPT 和 WebGPU?
    • 实现 WebGPT
    • 在浏览器中运行 WebGPT
    • 在本地运行 WebGPT
    • 使用自定义 WebGPT 模型
    • WebGPT 的挑战和局限性
    • GPT 和其他变压器模型的未来

    什么是 WebGPT 和 WebGPU?

    在我们深入研究 WebGPT 的实际实现之前,让我们简要介绍一下它在幕后是如何工作的。

    WebGPT 是转换器模型的 JavaScript 和 HTML 实现,转换器模型是一种特定的机器学习模型,旨在有效地处理序列数据。在自然语言处理 (NLP) 中,序列数据通常是指文本,其中单词和字符的顺序对其含义至关重要;序列的各个部分与整体一样重要。

    转换器模型是擅长处理 NLP 序列数据的机器学习模型。这些模型构成了许多最先进的自然语言处理模型的基础,包括GPT(生成预训练转换器)。

    WebGPT 的转换器模型旨在与 WebGPU 配合使用,WebGPU 是一个允许 Web 应用程序访问和使用设备GPU 的 API。GPU 特别擅长执行机器学习模型所需的并行计算类型,使其成为 WebGPT 的强大资源。

    在WebGPU之前,应用程序必须主要依赖于设备的中央处理器(CPU)或较旧的,效率较低的API,如WebGL。相比之下,WebGPT 使用明确设计的转换器模型,以使用 WebGPU API 在浏览器中运行。

    当 WebGPT 接收到输入时,它使用其转换器模型来处理数据。借助WebGPU API,它可以在用户设备上本地执行计算。然后,结果直接在浏览器中返回,从而实现快速高效的执行。

    将如此强大的机器学习模型引入浏览器对 Web 开发具有深远的影响,包括:

    1. 实时数据处理:当可以在客户端完成计算时,有可能以最小的延迟进行实时数据处理。这可以改变一系列应用程序的用户体验,从交互式工具和游戏到实时分析。
    2. 增强的隐私:由于数据处理在用户设备上本地进行,因此无需将潜在的敏感数据发送到服务器。对于处理个人或敏感数据的应用程序来说,这可能会改变游戏规则,从而增强用户的信任和隐私。
    3. 成本效益:公司可以通过将计算负载从服务器转移到客户端来节省服务器成本。这可以使小型公司或个人开发人员可以使用高级机器学习功能。

    实现 WebGPT

    WebGPT被设计为易于使用:它只需要一组HTML和JavaScript文件即可运行。但是,由于WebGPU是一项相当新的技术,因此您需要与WebGPU兼容的浏览器。

    截至 2023 年 113 月,Chrome v<> 支持 WebGPU。另一种方法是安装 Chrome Canary 或 Edge Canary 以确保兼容性。

    在浏览器中运行 WebGPT

    您可以直接在其演示网站上试用 WebGPT,网址为 https://www.kmeans.org。远程加载模型权重可能比在本地加载模型权重慢,因此为了获得响应速度更快的体验,建议尽可能在本地运行 WebGPT。

    在本地运行 WebGPT

    若要在本地运行 WebGPT,请执行以下步骤:

    1. 克隆 WebGPT 存储库:您可以通过在终端中运行以下命令来克隆存储库:git clone https://github.com/0hq/WebGPT.git
    2. 安装 Git LFS:克隆存储库后,需要使用 Git LFS 下载模型文件,Git LFS 是一个 Git 扩展,允许您在 Git 存储库中存储大文件。在本地计算机上安装 Git LFS,然后导航到终端中的 WebGPT 目录并运行:git lfs install
    3. 下载模型文件:之后,运行以下命令下载模型文件:git lfs pull
    4. 在本地服务器上启动 WebGPT 文件:您可以使用简单的 HTTP 服务器或像 Live Server for Visual Studio Code 这样的工具。
    5. 在浏览器中打开 WebGPT 页面:导航到运行 WebGPT 的本地服务器的 URL。您应该会看到如下所示的页面:

    我们的网络GPT页面

    我们的网络GPT页面

    单击任意“加载模型”按钮以加载模型权重。之后,您可以在输入框中输入文本,然后单击 生成 根据输入生成文本。

    我们的 WebGPT 演示在实际应用

    我们的 WebGPT 演示在实际应用

    使用自定义 WebGPT 模型

    WebGPT 有两个内置模型:一个小型 GPT-莎士比亚模型和具有 2.117 亿个参数的 GPT-<>。如果要使用自定义模型,请检查存储库中的脚本目录,以将 PyTorch 模型转换为 WebGPT 可以使用的格式。other/conversion_scripts

    以下是我们的目录:

    我们的转换脚本目录

    我们的转换脚本目录

    WebGPU 的挑战和局限性

    由于 WebGPT 建立在 WebGPU 之上,因此了解 WebGPU 的挑战和局限性非常重要。虽然WebGPU是一项有前途的技术,但它仍然是一个相对较新的API,因此它有一些挑战需要克服。其中一些包括:

    • 缺乏浏览器支持:并非所有浏览器目前都支持 WebGPU,即使是那些支持 WebGPU 的浏览器也可能没有完全支持。这可能会使开发和部署 WebGPU 应用程序变得困难,更不用说部署它们供公众使用了。
    • 复杂性:WebGPU 是一个复杂的 API,可能很难学习和使用。对于不熟悉低级图形 API 的开发人员来说,这可能是一个进入障碍
    • 性能:在某些情况下,WebGPU可能比WebGL慢,尤其是在较旧的硬件上。这是因为 WebGPU 是一个更低级别的 API,可能需要更多时间来编译着色器和设置图形管道

    随着API的成熟和越来越多的浏览器支持它,我们可以期待看到这些挑战得到解决。与此同时,像WebGPT这样的工具可以帮助实验和采用WebGPU。

    GPT 和其他变压器模型的未来

    GPT 和类似模型由于其高计算需求而主要在服务器上运行;但是,WebGPT 表明这些模型可以直接在浏览器中运行,提供的性能可能与基于服务器的设置相媲美。

    借助 WebGPU 等技术和 WebGPT 等项目提供的功能,我们可以将 GPT 等转换器模型的使用扩展相当多。随着技术的成熟和优化的改进,我们可以看到更大的模型在浏览器中流畅运行。


    超过 200 万开发人员使用 LogRocket 创造更好的数字体验

    了解更多→


    这可以提高Web应用程序中高级AI功能的可用性,从更复杂的聊天机器人到强大的实时文本分析和生成工具,甚至加速变压器模型的研究和开发。通过使部署这些模型更容易、更便宜,更多的开发人员和研究人员将有机会试验和改进它们。

    结论

    通过 WebGPU 将高级机器学习模型引入浏览器为开发人员提供了许多机会,它提出了一个未来的愿景,即 Web 应用程序更强大、响应更快、更注重隐私。

    原文链接:WebGPT VS WebGPU (mvrlink.com)

  • 相关阅读:
    文字识别的
    论坛议程|COSCon'23 开源百宝箱(T)
    VUE框架响应系统简单实现
    CentOS(5)——rpm包和源码包区别
    一篇文章教你搞懂生鲜电商模式
    MySQL筑基篇之增删改查
    04【MyBatis的类型处理器】
    商业化广告--体系学习-- 16 -- 业务实战篇 --需求调研:广告产品潜在需求的调研流程是怎样的?
    基金|最新“情绪领域”项目情报分享,速看
    模拟散列表—哈希表—拉链法;
  • 原文地址:https://blog.csdn.net/ygtu2018/article/details/132584145