又一神器开源!无需服务器支持!打通手机,浏览器的Web LLM!

news2025/1/9 14:49:38

大家好,我是千与千寻,大家可以叫我“千寻哥”,之前和大家分享了两篇关于ChatGPT的技术文章:

1.chatgpt

2.chatgpt

ChatGPT毫无疑问是现在最大的风口,各个行业都在集成ChatGPT的API接口以及各类的应用插件,这么多人的应用,那么肯定就需要保证ChatGPT模型的高可用性,轻量化,以及各个平台之间的“通用性”。但是这几点商用价值的核心,哪有那么容易满足,是啊,不过没关系,今天它来了,由来自CMU Catalyst、UW SAMPL、SJTU、OctoML 和 MLC 社区的成员发起的web LLM项目!

跟大家分享这一神器web LLM与传统的ChatGPT的直接区别在于打破了windows与Linux客户端、手机安卓端与电脑浏览器之间的三个平台的生态区域限制,最重要的亮点是无需厚重的服务器以及GPU显卡来加速模型的运行与训练。

既然说web LLM的轻量化模型打通了web端,安卓手机端,以及windows与Linux系统的三个生态区,看看 web LLM的轻量化模型到底是怎么工作的。

Web端部署应用

它采用了与ChatGPT远程调用模型API接口不同的,将GPT模型加载直接加载到浏览器端,并使用WebGPU进行加速。

下面是这个项目的网址:

https://mlc.ai/web-llm/

我们都知道像ChatGPT这类的自然语言生成大模型他们存在一个共性问题,就是他们需要非常强大的算力以及性能高涨的服务器来支撑他们进行模型推理,而这款开源神器可以将我们的神经网络模型直接部署到浏览器。

用户进行询问消息的时候,浏览器进行提前加载,相当于将浏览器封装成了带有语言模型的客户端。我们在客户端阶段即可以实现模型由浏览器转换一个完整的客户端来实现进程对话。

实践过程:

需要准备最新版的Google Chrome,最好是Google Chrome Canary,在这里多提一句,普通的Google Chrome与Google Chrome Canary之间的区别在于Canary版本是谷歌浏览器的开发版,而我们常用的谷歌浏览器是稳定版。

简单理解Google Chrome Canary,拥有谷歌浏览器的更多性能,它的反应速度更快,性能更高,但同时它的不稳定性以及不确定性也会更高,而我们常用的谷歌浏览器,它的稳定性会更高,要把大模型加载到我们的这个浏览器里,因此使用开发版本的性能会更高一些,同时开发版本也开放了更多的功能参数调节接口,使得我们可以调整更合适的内置参数来优化我们的模型更能体现,那我们废话不多说,
直接上对话级的Demo演示。

1.激活模型加载流程,进行浏览器的模型加载

2.向web LLM的模型进行提问:“写一个快速排序的算法Python代码”

可以看到模型回复的效果还是不错的。其实web LLM的性能真的还不止如此,ChatGPT模型是文字型的模型,暂时不支持生成图片,不过这个轻量化模型却可以!接着往下看,哈哈哈

3.Web Stable Diffusion生成你想要生成的自定义图片,如图为“宇航员在火星是上骑白马”描述的图片生成。

4.其功能为根据用户的文字描述,生成定制化的图片,进行定制化图片的生成,学习需要设定以下的参数组合。

Input prompt:定制化图片的生成文本描述

Negative prompt (optional): 否定描述(相当于指定不能生成什么样,一般可以选择直接不填写)

Select scheduler :选择生成的步骤执行器,默认20步生成即可

Render intermediate steps : 是否显示图像的生成步骤,同样电脑的内存较小的,直接设置为“No”。但是我可以帮你演示一下具体的图片生成演示过程。

生成进度7/20

生成进度18/20

生成进度20/20

WebGPU 规范确实已经提供了 FP16 支持,但目前的实现还不支持此功能。运行该演示的内存消耗约为 7GB。

对于只有 8GB 内存的 Apple silicon Mac,生成图像可能需要更长的时间(几分钟)。

windows的PC端部署应用

不仅仅是手机端的项目在windows以及linux系统上依然可以使用LLM部署于PC端,如图为在MAC电脑上通过Anaconda进行环境搭建以及应用部署的命令行代码。

# Create a new conda environment and activate the environment.
conda create -n mlc-chat
conda activate mlc-chat

# Install Git and Git-LFS, which is used for downloading the model weights
# from Hugging Face.
conda install git git-lfs

# Install the chat CLI app from Conda.
conda install -c mlc-ai -c conda-forge mlc-chat-nightly

# Create a directory, download the model weights from HuggingFace, and download the binary libraries
# from GitHub.
mkdir -p dist
git lfs install
git clone https://huggingface.co/mlc-ai/demo-vicuna-v1-7b-int3 dist/vicuna-v1-7b
git clone https://github.com/mlc-ai/binary-mlc-llm-libs.git dist/lib

# Enter this line and enjoy chatting with the bot running natively on your machine!
mlc_chat_cli

在Mac电脑的终端运行Web LLM的对话程序,如下图所示

手机移动端Web LLM的应用部署

将Web LLM的模型部署于手机端的效果,如下图所示,
下载 APK 文件并安装到您的手机上。然后您可以开始与 LLM 聊天。当您第一次打开应用程序时,需要下载参数并且加载过程可能会很慢。

在以后的运行中,参数将从缓存中加载(速度很快),您可以离线使用该应用程序。我们目前的演示依赖于手机上的 OpenCL 支持并占用大约 6GB 的内存

相信大家可能有点好奇想要自己动手试试了,安排!以下是两个APK的地址链接,以下为MLCChat软件的图标以及安装存储容量

APK软件的下载的链接:

https://github.com/mlc-ai/binary-mlc-llm-libs/raw/main/mlc-chat.apk

总结一下吧,MLC LLM的部署包含了前端以及后端的架构设计,将模型部署下载到浏览器端,手机端进行内嵌完成,以下为MLC LLM的完整设计图:

怎么样,是不是很简单呢,那就赶快试试吧!
我是千与千寻,一个只讲干活的码农~我们下期见!

本文由mdnice多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/541912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

本地部署 GPT Academic

本地部署 GPT Academic GPT Academic 项目概述Github 地址部署 GPT Academic配置 GPT Academic 参数启动 GPT Academic访问 GPT AcademicNew Bing Cookie 的获取方法 GPT Academic 项目概述 GPT 学术优化 (GPT Academic),为GPT/GLM提供图形交互界面,特别…

SSM整合(单元测试、结果封装、异常处理)

文章目录 1,SSM整合1.1 流程分析1.2 整合配置步骤1:创建Maven的web项目步骤2:添加依赖步骤3:创建项目包结构步骤4:创建SpringConfig配置类步骤5:创建JdbcConfig配置类步骤6:创建MybatisConfig配置类步骤7:创建jdbc.properties步骤8:创建SpringMVC配置类步…

【Leetcode刷题】算法:最长公共前缀

文章目录 一、题目描述二、解题思路2.1 解法12.2 解法22.3 解法32.4 解法4 三、结果提交 一、题目描述 二、解题思路 2.1 解法1 class Solution:def longestCommonPrefix(self, strs: List[str]) -> str:if not strs: # 如果字符串数组为空,则返回空字符串ret…

MIL-STD-1553B总线系统搭建指导

MIL-STD-1553B总线系统搭建指导 1.1553B总线协议 1.11553B总线介绍 MIL-STD-1553B(GJB 289A)是一种应用于机载电子设备间通信的共享式总线通信协议,以总线式拓扑结构连接最多31个终端设备互联,传输速率为1Mbps,在航…

任务跟踪器重要性探析:提升项目效率,实现管理优化

使用任务跟踪器完成项目的最显著好处之一是它们大大减少了开始新项目的初始阻力,尤其是当它们是大型、长期和复杂的项目时。任务跟踪器可用于将这些艰巨的项目分解为更小的、相互依赖的任务,这些任务有助于激发动力和行动以实现最终目标。使用项目任务跟…

Python: 让单元测试输出像GoogleTest一样

文章目录 1. 目的2. 原版 unittest 的输出3. 仿 GoogleTest 的输出效果4. 实现原理浅析传入 testRunner 参数testRunner 参数应该满足的条件颜色高亮: ASCII 转义字符的使用测试用例输出文本内容的格式调整:仿googletest 5. 完整实现代码6. 完整调用代码…

$‘\r‘: command not found syntax error near unexpected token `$‘do\r‘‘ 解决方案

问题描述 今天在执行代码时出现了这样的错误: bash xxx.sh xxx.sh: line 2: $\r: command not found xxx.sh: line 7: $\r: command not found xxx.sh: line 8: syntax error near unexpected token $do\r 经查阅,发现是.sh文件在windows下编辑&#xf…

Nevron Open Vision for .NET Crack

Nevron Open Vision for .NET Crack 增加了对Microsoft.NET 7.0的支持-NOV现在完全支持.NET Core 7.0,此外还支持Microsoft.NET Framework 4.7.2、.NET Core 5.0和.NET Core 6.0的内部版本。 用于.NET改进的NOV图表 添加了WPF和WinForms版本中提供的新3D渲染引擎。新…

展会回顾 | 2023元宇宙生态博览会圆满落幕,3DCAT荣获“元宇宙交互技术奖”

2023年5月10日-5月12日,一场涵盖了元宇宙终端头显、数字文娱、数字艺术、数字运动、数字多媒体展陈设计、数字展厅展馆、科技文旅、夜游演艺、沉浸式KTV/酒吧等多个领域的元宇宙商业盛会——2023第2届世界元宇宙生态博览会在广州广交会展馆A区3.2馆、4.2馆掀开帷幕。…

Python求balance_list【三】

本文为博主原创,未经授权,严禁转载及使用。 本文链接:https://blog.csdn.net/zyooooxie/article/details/130159648 很早之前,我写了2篇 如何求balance_list 的博客: https://blog.csdn.net/zyooooxie/article/detail…

DeepFM - 工业界经典baseline(哈工大 华为)

文章目录 1、模型结构如下:2、关键理解点:3、代码实现细节:DeepFM: A Factorization-Machine based Neural Network for CTR Prediction。dfm由哈工大和华为合作发表在IJCAI-2017;模型结构很简单,wide&deep结构。1、模型结构如下: 相比wide&deep [下文简称wd] 有…

就业内推 | 应届生校招、实习,上市公司有岗,最高18k*15薪

01 UCloud 🔷招聘岗位:网络工程师 🔷职责描述: 1、负责UCloud全球骨干网或数据中心网络工作,包括设备技术选型、架构运营方案设计、日常运维支持 2、持续提升网络稳定性与性能。 🔷任职要求: …

Flowable-modeler可视化教程

Flowable-Modeler功能 提供可视化编辑器,编辑BPMN流程,编辑CASE模型,编辑Form表单,编辑App应用,编辑决策表提供可视化参数配置:每个流程可以配置详细的参数设置,按照流程对应的规范来设计。提供…

学Python的都在说爬虫容易进去,你还敢做爬虫吗?十分钟带你规避可拷风险

阅读文本大概需要 10 分钟,今天,不要面向监狱编程了。 序言 前段时间有一篇名为《只因写了一段爬虫,公司200多人被抓!》的文章非常火,相信大家应该都看到了。 这篇文章火起来之后,本来经过了一个多月的时…

【Spring框架】--01.Spring概述、入门

文章目录 Spring1.概述1.1Spring是什么?1.2 Spring 的狭义和广义1.3 Spring Framework特点1.4 Spring模块组成1.5 Spring6特点1.5.1版本要求 2.入门2.1 构建模块2.2 程序开发2.2.1 引入依赖2.3.2 创建java类2.3.3 创建配置文件2.3.4 创建测试类测试2.3.5 运行测试程…

centos上搭建redis伪集群

1.安装ruby 搭建redis集群需要ruby脚本,需要安装ruby的环境 (1)yum install ruby (2) yum install rubygems 2. 复制安装完成的redis /usr/local目录下创建redis-cluster目录,复制已经安装完成的redis到 /usr/local/redis-cluster/redis01目录&#x…

京东软件测试岗位经典面试题(附答案)

1、黑盒测试的测试用例常见设计方法都有哪些?请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 1)等价类划分:等价类是指某个输入域的子集合.在该子集合中,各个输入数据对于揭露程序中的错误都是等效的.并合理地假…

【从零开始写视觉SLAM】v0.1基于特征点的简单VO

v0.1版本的oSLAM实现了基于orb特征点的简单视觉里程计,通过连续两帧的rgbd数据实现相机相对位姿的估计。 #mermaid-svg-ibQfHFVHezQD5RWW {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-ibQfHFVHezQD5RW…

MySQL数据库---笔记1

MySQL数据库---笔记1 一、数据库概述1.1、什么是数据库1.2、数据库的安装与启动1.3、MySQL数据模型 二、SQL2.1、通用语法及分类2.2、DDL2.2.1、数据库操作 一、数据库概述 1.1、什么是数据库 名称全称简称数据库存储数据的仓库,数据是有组织的进行存储DataBase (…

LeetCode每日一题之二分搜索

文章目录 1.关于二分搜索常见的误区2.左闭右闭区间的写法3.左闭右开区间的写法4.找到第一个大于target的数5.找到第一个小于target的数6.找到第一个大于等于taregt的数7.找到第一个小于等于target的数 1.关于二分搜索常见的误区 区间的定义: 2.左闭右闭区间的写法…