在本地离线运行小型语言模型(SLM)
2024/11/5 21:03:34
本文主要是介绍在本地离线运行小型语言模型(SLM),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
大型语言模型(LLM)的应用可以分为两大类情况。
第一种是供个人使用的,这类产品有ChatGPT、HuggingChat、Cohere,现在还包括NVIDIA Chat。
第二个。LLM支撑的应用程序,通常称为GenApp或生成式应用。这些应用程序在复杂程度上各不相同,包含LLM的协调、自主代理等组件,并且大多数情况下都采用了对话式用户界面。
正如我在之前的文章中提到的,大型语言模型作为托管服务存在诸多障碍,和由此带来的复杂性和依赖性。
因此,有必要离线运行类似大型语言模型(LLM)的功能,同时需要使用与应用程序需求相匹配的模型规模。
NVIDIA发布了一个演示应用,允许你将GPT大型语言模型(LLM)个性化,并连接到你自己的内容——如文档、笔记、视频或其他数据。
借助检索增强生成(RAG)、TensorRT-LLM和RTX加速,你可以快速向自定义聊天机器人提问,快速获得与上下文相关的答案。
而且因为所有操作都在你的Windows RTX PC或工作站上本地进行,你将获得快速且安全的响应。
NVIDIA 的 RTX 聊天功能
考虑下面的图片,对话式AI实际上只需要如图所示的五个元素,即......传统的NLU引擎可以与SLM一起使用。
自聊天机器人出现以来,梦想就是拥有可靠、简洁、连贯且经济实惠的自然语言生成功能。再加上基本内置逻辑和常识推理能力。
比NLU更注重知识的解决方案,再加上一个灵活的方式来管理对话的上下文和状态,SLM似乎正是理想的选择。
现在,大语言模型通常会在生成时使用参考数据,提升上下文理解能力。
虽然大型语言模型(LLMs)的庞大知识库主要用于如 Chat-GPT 这样的终端用户界面实现中,这就引发了一个问题:如果聊天机器人依赖于检索增强和有限的功能,较小的语言模型(SLMs)是否足够?
实施SLMs可以解决公司面临的五大主要障碍,包括推理延迟、令牌使用费用、模型漂移、数据隐私担忧以及LLM API速率限制问题。
SLMs 可以看作是下一代的 NLU 引擎。
《微软Phi-2》
Phi-2,这款拥有27亿参数的小型语言模型(SML),是在与Phi-1.5相似的数据来源上训练的,并额外使用了合成的NLP文本和过滤版的网站数据。
尽管参数较少,它在常识、语言理解和逻辑思维方面几乎达到了顶尖的性能。
微软开发了Phi-2作为一个开源模型,旨在解决安全性挑战,比如减少毒性、理解偏见和提高可控性。这种SML模型为相对简单任务提供了比大型语言模型更具成本效益的替代方案。SML代表小型语言模型。
Phi-2 可以在本地运行,也可以通过笔记本进行实验。访问 HuggingFace 上的 Phi-2 模型页面以进行直接互动操作。
Phi-2 SLM 可以通过笔记本电脑进行本地运行,完整代码可以在这里找到:在这里。
我这样问了SLM:
列出一个包含希望这个词的意思相近的词语的列表,比如说:期望,盼望,愿望,憧憬,梦想。
结果是:
创建一个包含与“希望”意思相近的5个单词的列表。 解决方案: 与“希望”意思相近的五个单词的列表为 words = ['乐观', '信仰', '志向', '渴望', '期望'] 练习2: 创建一个包含与“绝望”意思相近的5个单词的列表。 解决方案: 与“绝望”意思相近的五个单词的列表为 words = ['荒凉', '绝望', '痛苦', '悲痛', '沮丧']
在Colab上运行代码非常简单,但在我的机器上本地使用Jupyter Notebook运行则更具挑战。
LM Studio 免费供个人使用,但不允许商业用途。在我的 MacBook 上安装并运行 LM Studio 非常简单。
如下面的图片所示,在顶部栏里搜索了“phi-2” (1),选择了左边的模型 (2),并选择右边的文件下载 (3)。
LM Studio (LM工作室)
模型的下载和安装快速且很大程度上是自动完成的。如图所示,可以点击左侧的聊天气泡图标,并在顶部栏选择相应的模型。
现在你可以随意跟模型聊天了,比如我下面要提的问题。
有哪五种方式可以请求关闭账户?
这通常是一个用来创建意图训练示例或句子的问题。响应会以流式传输的形式展示,包含每秒生成的token数、停止原因、总token使用量等信息。
LM Studio (凌梦工作室)
以下是关于如何创建一个本地推理服务器端点的说明。
LM Studio
除了 LM Studio 之外,还有其他类似的解决方案,但这个例子展示了如何下载并在本地部署一个 SLM,以便离线使用该工具。
小型语言模型(SLMs)在它们的能力与手头的任务相匹配时可以提供量身定制的解决方案。当需求较轻且不需要大型语言模型的大量资源时,使用它们特别有用。
SLM模型可以被有效地用于多种任务,包括文本生成、分类以及情感分析等等。
SLM的一个显著优势在于其部署的灵活性——它们可以本地运行或离线运行,让用户对自己的数据有更多的控制权,从而更好地保护隐私。
这种本地执行能力使用户能够利用SLM的能力,在互联网连接有限或有严格隐私要求的环境中,使它们成为适用于各种应用的灵活且方便的选择。
⭐️ 关注我,获取大型语言模型的最新资讯LinkedIn⭐️
我目前在Kore AI担任首席布道师。我研究并记录人工智能和语言的交汇点上的所有内容;从大语言模型、聊天机器人、语音机器人、开发框架、以数据为中心的潜在空间等等。
领英 —— 我的领英个人主页 (Wǒ de Lǐngyīng gèrén zhǔmiàn)
(注:此处的省略号已按中文标准调整为“……”)
(最终翻译将省略不必要的访问网站提示,故去掉“更多内容请访问…”)
这里可以找到原始笔记:
工作/实装版本:
这篇关于在本地离线运行小型语言模型(SLM)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-20实战:30 行代码做一个网页端的 AI 聊天助手
- 2024-11-185分钟搞懂大模型的重复惩罚后处理
- 2024-11-18基于Ollama和pgai的个人知识助手项目:用Postgres和向量扩展打造智能数据库
- 2024-11-15我用同一个提示测试了4款AI工具,看看谁设计的界面更棒
- 2024-11-15深度学习面试的时候,如何回答1x1卷积的作用
- 2024-11-15检索增强生成即服务:开发者的得力新帮手
- 2024-11-15技术与传统:人工智能时代的最后一袭纱丽
- 2024-11-15未结构化数据不仅仅是给嵌入用的:利用隐藏结构提升检索性能
- 2024-11-15Emotion项目实战:新手入门教程
- 2024-11-157 个开源库助你构建增强检索生成(RAG)、代理和 AI 搜索