前言
随着浏览器性能的不断提升,在浏览器中运行复杂的任务已经变得非常轻松。特别是谷歌浏览器,你几乎不需要桌面应用,单纯一个浏览器就可以搞定了。
今天给大家介绍的是一个项目——WebGPT。
该项目利用了浏览器的 WebGPU 性能,可以轻松加载运行训练好的模型文件。
作者的话
经过6年的开发,WebGPU 即将在大多数主流网页浏览器中推出。
这是一个重大进展:网络应用程序现在可以近乎原生地访问 GPU,并具有计算着色器的额外功能。
WebGPT 是一个纯 JS 和 HTML 实现的转换模型,旨在证明概念和作为教育资源。
WebGPT 已经过测试**,可支持高达5亿参数的模型**,尽管通过进一步测试/优化可能支持更多参数。
针对使用性能来讲,
目前,WebGPT 在2020年M1 Mac 上的 Chrome Canary 上运行GPT-2 124M模型时,平均每次生成一个词需要50毫秒。
如果优化核心、缓冲区和WebGPU 接口,速度可能会提高500% 甚至更多。WebGPU 也会随着成熟而显著提速。
也就是说,一般的家用PC,完全可以支持使用了。
用到的模型
仓库里面提供了有两种网络上公开的已经训练好的模型数据。
- ? 一个是莎士比亚的诗词,
- ? 一个是GPT2开源的数据。
至于为什么使用莎士比亚的诗词,因为在诗词领域,莎士比亚和李白一样,都是我们经常使用的可以免费获取的数据。
本地部署
file sizes
这个项目的静态文件,一共只有74k大小。
拉取代码
如果你本地装的有git,使用以下命令拉取远程代码仓库。
git clone https://github.com/0hq/WebGPT
在models目录内存储了以下模型数据文件,这些我们都不需要关心。
文件服务
如果本地安装有web服务器,比如nginx,简单地添加一个静态文件域名解析就可以了。
基于nginx的配置文件,非开发者很难使用。我们推荐另一款web服务器——caddy。在官网下载二进制文件之后,在本地命令行起一个文件服务,就可以在浏览器访问了。
caddy file-server -browse -listen 127.0.0.1:8912
谷歌浏览器canary版本
运行WebGPT非常简单,它只是一组HTML + JS文件。
由于WebGPU还在发布过程中,我们需要使用兼容的浏览器打开。
WebGPU当前可在Chrome v113上使用, 最简单方法是安装Chrome Canary,并在chrome://flags/#enable-unsafe-webgpu启用“Unsafe WebGPU”。
上手实测
设置完以上步骤 ,打开canary谷歌浏览器,输入网址:
http://localhost:8912
打开界面如下:
一个是莎士比亚诗词的模型,一个是GPT2参数模型。
先加载莎士比亚诗词模型,加载完毕之后,按钮generate text是可以点击的状态。
temperature 参数,是发散度,取值范围0-1。越大创造性越好,但也极大可能跑偏。
切换使用GPT2模型数据。
写在最后
这是一个实验性质的产品,大家可以从大语言模型的简单用例,理解到ChatGPT这类专用模型的演化由来。
我是程序员小助手,持续分享开源免费ChatGPT相关应用的私有化部署。