一、开源AI大语言模型
目前开源的AI大语言模型(LLM)已经非常的多了,以下是收集的一些LLM:
LLaMA2023-06-26日上传至github,目前51.3k star
以下主要介绍如何使用ollama安装的AI模型及对大语言模型的微调:
二、使用方式
1、命令行
2、REST API
vbnet
curl http://localhost:11434/api/generate -d '{
"model": "gemma:2b",
"prompt":"who are you?"
}'
postman调用
3、图形界面
Open WebUI (原Ollama WebUI):这是一个用于聊天交互的用户友好的 Web 界面。它从 ChatGPT 中汲取友好的聊天界面,支持 Docker 或 Kubernetes 安装,还可以在不同聊天模型之间无缝切换,实现多样化交互.
LibreChat:LibreChat 是一个开源的 AI 通讯平台,它在 ChatGPT 的基础上添加了功能和增强性能。LibreChat 允许用户在选择不同的大型语言模型时切换,支持多种功能,包括编辑模型内部设置、搜索和过滤功能,以及插件系统。
HTML UI:HTML UI 是一个适合开发者练手的 Web UI 项目,包含了多个响应式、现代化的界面模板,适用于练习 HTML、CSS 和 JavaScript。
Chatbot UI:Chatbot UI 是一个高级聊天机器人工具包,基于 OpenAI 的聊天模型,支持多种功能,如响应式设计、代码语法高亮、Markdown、RAG 集成等。
以下是ollama列举的相关项目:
这里选择Open WebUI,直接通过docker安装
perl
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=http://localhost:11434 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
如果webui与llama不在同一台机器上,这里的OLLAMA_BASE_URL要使用远程地址。但ollama默认是通过localhost访问的,所以在windows需要通过环境变量更改绑定地址。
OLLAMA_HOST 0.0.0.0:11434
重启ollama就可以远程访问
ollama serve
随便注册一个账号
登录后就可以使用
界面与chatgpt差不多
三、模型微调
对于开源大语言模型基本通过安装、下载大语言模型、安装Web UI等步骤基本就可以使用了,如果想集成到自己的业务中去可以使用API的方式调用。当然想更进一步让大语言模型更贴切自己的业务的话,就需要对大语言模型进行微调,把自己的业务数据给大语言模型进行训练。
LLM的微调是在预训练模型的基础上进一步将预训练模型在较小、特定数据集上进一步训练的过程,以使其更好地适应特定的任务或数据集。预训练模型通常是在大规模的通用数据集上训练得到的,它们能够捕捉到语言的一般性特征和模式。然而,这些模型可能并不完全适应特定的应用和业务场景,因此需要通过微调来优化模型的表现。
以下是微调大型预训练语言模型的技术:
- 微软LORA
LoRA(Low-Rank Adaptation)是一种用于微调大型语言模型(LLM)的技术,它旨在通过参数高效的方式提高模型的适应性和性能。这种技术最初由微软的研究人员提出,并在论文《LORA: LOW-RANK ADAPTATION OF LARGE LANGUAGE MODELS》中进行了详细介绍。LoRA的核心思想是在不改变预训练模型权重的前提下,通过在模型的每一层注入可训练的低秩矩阵来实现微调,从而显著减少所需的训练参数数量和计算资源。
- 谷歌Prompt Tuning
Prompt Tuning 是一种新兴的大模型微调技术,它通过在预训练模型的基础上添加可学习的提示(Prompt)来调整模型的输出,从而适应特定的任务。这种方法的核心思想是利用预训练模型的强大语义理解能力,并通过少量的参数更新来实现对模型的微调。
- 华盛顿大学QLoRA
QLoRA是一种新的微调大型语言模型(LLM)的方法,能够在节省内存的同时保持速度。其工作原理是首先将LLM进行4位量化,从而显著减少模型的内存占用,然后使用低阶适配器(LoRA)方法对量化的LLM进行微调。
- 清华大学P-tuning v2
P-Tuning v2 是一种高效的微调方法,用于在保持性能的同时减少内存使用。它的核心思想是将预训练的大型语言模型(LLM)量化为4位,并添加一小组可学习的低秩适配器权重。通过冻结的、4位量化的预训练语言模型反向传播梯度到低秩适配器(LoRA)来实现微调。这种方法使得在单个48GB的GPU上微调拥有650亿参数的模型成为可能,同时保持16位微调任务的性能。P-Tuning v2 引入了多项创新来在不牺牲性能的情况下节省内存,例如4位NormalFloat(NF4)数据类型、双重量化和分页优化器。该方法使得微调大型语言模型变得更加可行,降低了资源门槛。
另外也有类似阿里PAI这种一站式的SAAS平台,还仅可以微调还提供部署等功能 。
- 阿里云 PAI
人工智能平台 PAI(Platform for AI,原机器学习平台PAI)是面向开发者和企业的机器学习/深度学习工程平台,提供包含数据标注、模型构建、模型训练、模型部署、推理优化在内的AI开发全链路服务,内置140+种优化算法,具备丰富的行业场景插件,为用户提供低门槛、高性能的云原生AI工程化能力。
- 腾讯云TI-ONE
TI-ONE 训练平台(以下简称TI-ONE)是为 AI 工程师打造的一站式机器学习平台,为用户提供从数据接入、模型训练、模型管理到模型服务的全流程开发支持。TI-ONE 支持多种训练方式和算法框架,满足不同 AI 应用场景的需求。