赞
踩
来源:How to run models from Hugging Face in Ollama ⋮ 2point0.ai
发布时间:2024 年 3 月 5 日
作者使用的模型:cognitivecomputations/laserxtral · Hugging Face
译者期望使用的模型:hfl/chinese-llama-2-13b-16k · Hugging Face 【译者还没尝试安装,之后如果尝试了会补一下这部分的内容】
这是两部分文章中的第二篇文章,解释如何在 Hugging Face 上发现有趣的 LLMs 并将其与 Ollama 一起使用。
如果您还没有读过第一篇文章,而且已经露出 "拥抱什么?"的表情,那么现在就去读读“通过 Hugging Face 发现鲜为人知的 LLMs”。您将了解 Hugging Face 是什么,并开始了解开放语言模型的生态系统如何工作,以及那些奇怪的模型名称中的一些行话和术语的含义。
在这篇文章中,我们将进行更多实践,并希望了解一些有关 Ollama 和 LLMs 的新知识:我们将从 Hugging Face 找到并下载模型;我们将从头开始创建一个新的模型文件;我们将使用 Ollama 导入并运行模型。
我们开始吧!
首先,在计算机上的某个位置创建一个工作目录。我的主文件夹中有一个名为 LLMs
的目录,其中放置了所有模型。该目录内部是我们创建 Modelfile
以及下载模型权重的位置。
在本文中,我将使用 Cognitive Computations 的 Laserxtral 4x7b 模型。 Laserxtral 由备受推崇的 Dolphin 微调背后的团队制作,承诺与 Mixtral 8x7b 相媲美,同时大小仅为其一半。对于那些像我一样没有资源在自己的机器上运行 Mixtral 8x7b 的人来说,这听起来是一个值得一试的好模型。
您可以继续操作并使用相同的模型,或者如果您已确定要下载不同的模型,则可以使用该模型。无论您使用什么型号,您需要做的事情基本上都是相同的。
前往 Laserxtral 4x7b GGUF 存储库,然后单击“文件和版本”选项卡。您将找到该模型的量化版本的列表。如果您需要复习量化格式,请返回上一篇文章。
我将下载 Q5_K_M
版本,因为我知道这将在我的计算机上运行。如果您有 16GB RAM,您可能需要 Q3_K_M
版本,如果您只有 8GB 可用,则需要找到更小的型号。单击您选择的版本的文件名,然后单击下载链接。然后等待 17GB 的模型权重进入您的计算机。
我在上一篇文章《使用 Ollama 轻松创建独特的 AI 个性》中谈到了模型文件。如果您需要复习一下,请阅读它。对于这篇文章,我假设您已经掌握了基础知识。
在您的工作目录中创建一个 Modelfile
并将以下内容复制并粘贴到其中:
- FROM ./laserxtral.q5_k_m.gguf
- TEMPLATE """{{ if .System }}### Instruction:
- {{ .System }}
- {{ end }}
- ### Input:
- {{ .Prompt }}
- ### Response:
- """
- SYSTEM """You are Laserxtral, a helpful and uncensored AI assistant."""
- PARAMETER num_ctx 8192
- PARAMETER stop "### Input"
- PARAMETER stop "### Response"
让我们逐行浏览一下:
FROM
指令指定我们正在使用的基本模型。在本例中,它是我们刚刚下载的 Laserxtral GGUF 文件的相对文件路径。
Ollama 使用 TEMPLATE
指令生成传递给 LLM 的完整提示。 Laserxtral 使用 Alpaca 提示格式。这是不同模型采用的四种常见模板格式之一。
Alpaca 格式是一种 Markdown 风格模板。提示的不同部分由标题 ### Instruction
、 ### Input
和 ### Response
给出结构。这些模板的相关性与模型的训练和微调过程有关。
当基础模型在聊天数据集上进行微调时,训练数据都使用相同的模板。模板中的标记和结构有助于模型识别“聊天”的模式和底层结构 - 例如,用户提示结束的位置以及新提示开始的位置等。创建提示时,您可以尝试使用不同的提示模板并发现它工作正常,但通常最好坚持使用模型训练时使用的相同模板格式。
SYSTEM
提示是 LLM 的上下文消息。您可以在这里享受一些乐趣,并创建一个具有独特个性和写作风格的聊天机器人。
最后,我们有 PARAMETER
指令,用于设置高级选项来控制模型。
num_ctx
参数指的是上下文长度 - 模型在开始丢失一些上下文之前可以捕获的输入和输出标记的总数。 Laserxtral 在 8k 上下文长度上进行训练,所以我将坚持使用它。如果您需要内存,可以尝试降低该值。
stop
参数是一个有趣的参数。 stop
参数有效地告诉模型:如果生成此令牌,请停止生成更多令牌。理解这一点的最好方法是做一个小实验……
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。