大模型基础知识

智能对话技术调研

前置知识

人工智能的认识

人工智能方向有哪些?

人工智能是一个广泛而多样化的领域,包含许多不同的方向和研究领域。以下是一些常见的人工智能方向:

1.机器学习:研究如何让计算机通过数据自动学习和改进的算法和技术。

2.深度学习:基于神经网络的机器学习方法,尤其擅长处理图像、语音和自然语言等复杂数据。

3.自然语言处理:涉及计算机理解和处理人类语言的能力,包括语音识别、文本分类、机器翻译等。

4.计算机视觉:专注于使计算机能够理解和分析图像和视频内容。

5.机器人技术:研究设计和开发能与环境交互并执行任务的机器人。

6.智能推荐系统:根据用户的偏好和行为,为用户提供个性化的推荐。

7.自动驾驶:开发能够自主驾驶的汽车和其他交通工具。

8.数据挖掘:从大量数据中发现有价值的模式和信息。

9.人工智能伦理和社会影响:探讨人工智能的道德、法律和社会影响。

10.智能医疗:应用人工智能技术于医疗保健领域,如疾病预测、医疗影像分析等。 这只是人工智能领域中的一些主要方向,实际上还有许多其他细分领域和交叉学科的研究。随着技术的不断发展,新的方向也在不断涌现。选择具体的方向通常取决于个人兴趣、专业背景和市场需求。

自然语言处理又分为哪些方向?

自然语言处理是人工智能的一个重要领域,它可以分为以下几个主要方向:

1.语音识别:将人类语音转换为计算机可识别的文本。

2.语义理解:使计算机理解自然语言的语义,包括词汇、句法和语用等方面。

3.文本分类与情感分析:对文本进行分类,例如判断文本的主题或情感倾向。

4.机器翻译:实现不同语言之间的自动翻译。

5.信息检索与提取:从大量文本中检索和提取特定信息。

6.问答系统:根据问题生成准确的答案。

7.对话系统:开发能够与人类进行自然对话的系统。

8.文本生成:生成自然语言文本,如文章创作、故事生成等。

9.语言模型:构建能够预测下一个单词或句子的模型。

10.多模态自然语言处理:结合语音、图像等多模态信息进行自然语言处理。 这些方向相互关联和交叉,而且随着技术的发展,可能会出现新的研究方向和应用领域。自然语言处理的研究旨在使计算机能够更好地理解和处理人类语言,从而实现更智能、更便捷的人机交互。具体的研究方向可以根据个人兴趣和应用需求来选择。

大模型涉及到的方向:

大模型在自然语言处理领域有广泛的应用,涉及到多个方向,包括但不限于语音识别、语义理解、文本分类与情感分析、机器翻译、信息检索与提取、问答系统、对话系统、文本生成、语言模型、多模态自然语言处理等。 大模型在自然语言处理上的应用将继续发展和创新,通过预训练模型、多任务学习、迁移学习、对话系统的智能化以及模型压缩和部署的优化,大模型将为自然语言处理任务带来更准确、更智能、更高效的解决方案,推动自然语言处理技术迈向新的高度。

此外,大模型的应用也可以涵盖其他领域,如机器学习、计算机视觉、推荐系统等。这些领域都可以受益于大模型的强大表示能力和泛化能力。

本地知识库的实现原理

总结:

要实现前期部署大模型需要使用到的技术和准备工作。大模型本地部署、文本向量技术(信息检索与提取)和知识库框架(用于整合大模型、文本向量、API 调用服务、WebUI 界面)

注:详细说明可以观看“大模型知识库项目_Langchain-Chatchat”实现原理视频 GitHub - chatchat-space/Langchain-Chatchat: Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM) QA app with langchain

大模型预训练和微调的区别

区别和目标任务

预训练和微调是自然语言处理中常用的两个技术,它们的主要区别在于训练的数据和目标任务。1

通用大模型的创建都使用了大量的预训练。预训练是指在大规模的文本数据上训练一个通用的语言模型,例如使用无监督学习方法。在预训练阶段,模型学习了语言的一般特征和结构,以及丰富的语义表示。这种预训练的模型通常被称为预训练模型或基础模型。预训练模型的目标是捕捉到底层语言的统计规律和语义信息,而不是特定任务的细节。

微调是指在特定任务上使用预训练模型进行进一步的训练,以使其适应特定任务的要求。在微调阶段,预训练模型被加载到特定任务的训练数据上,并根据该任务的标签或目标函数进行优化。通过在特定任务上进行微调,模型可以更好地理解任务的上下文、语义和特定领域的知识。微调过程通常包括冻结预训练模型的底层层级(如词向量)和调整上层层级(如分类器)的权重。

总的来说,预训练是为了捕捉通用语言特征和语义信息,而微调是将预训练模型应用于特定任务并进行优化,以使其适应该任务的要求。

ChatGPT模型训练基本流程

ChatGPT 的训练过程共分为四个步骤:

  • a) 训练预训练模型,如 GPT-3.5 或 GPT-4;

  • b) 监督微调(SFT:supervised finetuning)(对应 DS-Chat 中的 Step1);

  • c) 奖励模型微调(RM:Reward model finetuning)(对应 DS-Chat 中的 Step2);

  • d) 基于人类反馈的强化学习(RLHF:Reinforcement learning with human feedback)(对应 DS-Chat 中的 Step3)。

其中,阶段(a)的 GPT-3.5 或 GPT-4 预训练部分是计算量最大的阶段。这不仅需要大量的 GPU(几十到数百个),而且训练时间非常长(数月),因此通常只有大型企业才能进行训练。在本实例中,我们使用了 Facebook 公开的 opt 系列预训练模型,并主要针对 b、c、d 三个步骤进行训练。

结论:目前针对预训练我们无法做到也不需要除非咱们针对于保理领域有海量正确的知识,否则这个应该交给大模型供应商去做。但后期了解技术后可能可以做到微调。关于微调处理在各个大模型的官网也有相关介绍。

大模型认识

大模型包含内容

1.以Qwen-14B-Chat-Int4为例官方解释:

通义千问-14B(Qwen-14B)是阿里云研发的通义千问大模型系列的140亿参数规模的模型。Qwen-14B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。同时,在Qwen-14B的基础上,我们使用对齐机制打造了基于大语言模型的AI助手Qwen-14B-Chat。

2.访问本地部署的langchat+本地部署通义千问1.5-14B-chat

3.访问魔搭社区官方demo了解更多

访问魔搭社区的通义千问demo询问近期新闻得不到回答,可以基本正常魔搭社区demo只是单纯部署增加对话框功能并没有进行进一步对大模型进行处理

注:可以在魔搭社区体验 通义千问1.5-14B-对话-Demo 魔搭社区

大模型名称解释

以Qwen1.5-14B-Chat-Int8为例

Qwen:为项目名称

1.5: 表示是项目从1.0到2.0的过度版本

14B:表示140亿参数规模的模型

模型的参数规模对其性能和能力有重要影响。更大的参数规模通常意味着模型具有更强的表示能力,可以处理更复杂的任务和数据。然而,参数规模的增加也会导致计算成本的增加,包括训练时间、内存需求和计算资源的消耗。

Chat:表示使用对齐机制打造了基于大语言模型的AI助手。(对对话处理能力更强)

Int8:大模型中的int8和int4量化是一种模型压缩技术,它可以将模型的参数从32位浮点数转换为8位或4位的整数,从而减少模型的存储空间和计算量,同时保持较高的模型精度。 这种量化技术可以将模型的大小减小75%,从而减少存储空间和内存耗用,加快推理速度,减少设备功耗,并且支持在微处理器上运行。

总结:

目前市面上的开源大模型,只有最基础的对话功能。均包含流式输出、历史上下文功能。但并不包含知识库、提示词、垂直领域等功能。

我们应该根据具体根据具体服务器性能选择合适的适合的大模型,但其实针对于一般使用来说体验感差距应该并没有太大区别

Prompt(提示语)、RAG(知识库)、Fine-tuning(模型微调)

各名词的基本介绍

Prompt提示语,是指设计和编写提示文本,以引导模型生成符合特定要求的语言输出。做到垂直领域prompt必不可少,prompt主要靠手动编写不需要代码,但也并简单的一句话。

10月28日下午在B310的第7节课是21级计科1班的《大数据与人工智能应用》课程。在此次课上,教师和学生一起研讨了“Prompt提示词对代码生成的影响”。课程中,以实现“使用Python收集作业文件名单”为目标,教师要求学生向文心一言提交需求描述来实现代码生成,并在AI Studio中验证代码的正确性。在练习中,学生发现prompt词描述得越精确、越有逻辑,生成的代码质量越高。当逐步叠加需求描述时,代码完成度也越来越高,最后返回的是一段正确且较为复杂的代码,而代码完成时间比学生独立开发节省了不止一倍。
注:https://jsjxy.scujcc.edu.cn/info/1100/2589.htm
今日头条大模型系列:Prompt提示工程常用技巧和实践 
注:https://www.toutiao.com/article/7333174563431301658

RAG(知识库)和Fine-tuning(模型微调)微调在上文中已经介绍不在赘述

各名称的作用和结合使用
 引用出自HumanLoop人工智能公司博客 https://humanloop.com/blog/optimizing-llms
​
One of the most useful talks from OpenAI DevDay was ‘A Survey of Techniques for Maximizing LLM Performance’ from John Allard and Colin Jarvis
​
openAi发布的为数多的有用的视频如何对LLM类模型进行调优(目前市面上被炒得最火的大模型几乎都是 LLM 模型,即大语言模型,LLM全称为Large Language Model 大语言模型)

openAi发布的对LLM流程调优视频地址:https://www.youtube.com/watch?v=ahnGLM-RC1Y

对openAI演讲中和其他知识进行的总结

如果把流程优化比做一场考试

prompt: 就是考试前,提前告知了考试方向。如果考语文回答一张卷子的英语就很难得到高分。

RAG:就是考试前,给你提供了一本和考试内容相关的书。开卷考试。

Fine-tuning:就是考试前,提前进行了对应的复习。提前复习也要看复习内容复习效果不是复习百分百得高分。

Pre-training:就是考试前,拥有了大量相关知识。让国宴厨师去做拍黄瓜。

模型显存配置要求

使用 Model Memory Calculator 模型内存计算工具可以计算出模型需要的内存大小

Model Memory Calculator 地址:https://huggingface.co/spaces/hf-accelerate/model-memory-usage

参考文献:AI开发者de频道:文章显示

手动测试结果

测试配置测试大模型测试结果使用存储
4核cpu 16G内存 无显存Qwen1.5-1.8B-Chat无法启动13.29G
4核cpu 16G内存 无显存Qwen1.5-4B-Chat无法启动22.24G
4核cpu 16G内存 无显存Qwen1.5-7B-Chat无法启动36.28G
8核cpu 32G内存 16G显存Qwen1.5-14B-Chat运行对话微慢不卡顿但未进行多轮测试39.24G

未来发展趋势Agent

技术选型:

大模型技术选型

参考文献:AI开发者de频道:文章显示

ChatGLM

ChatGLM 是智谱AI和清华大学 KEG 实验室联合发布的对话预训练模型。

ChatGLM3-6B 是 ChatGLM 系列最新一代的开源模型,在保留了前两代模型对话流畅、部署门槛低等众多优秀特性的基础上,ChatGLM3-6B 引入了如下特性:

  1. 更强大的基础模型: ChatGLM3-6B 的基础模型 ChatGLM3-6B-Base 采用了更多样的训练数据、更充分的训练步数和更合理的训练策略。在语义、数学、推理、代码、知识等不同角度的数据集上测评显示,ChatGLM3-6B-Base 具有在 10B 以下的预训练模型中最强的性能。

  2. 更完整的功能支持: ChatGLM3-6B 采用了全新设计的 Prompt 格式,除正常的多轮对话外。同时原生支持工具调用(Function Call)、代码执行(Code Interpreter)和 Agent 任务等复杂场景。

  3. 更全面的开源序列: 除了对话模型 ChatGLM3-6B 外,还开源了基础模型 ChatGLM-6B-Base、长文本对话模型 ChatGLM3-6B-32K。以上所有权重对学术研究完全开放,在填写问卷进行登记后亦允许免费商业使用

项目项目数据统计1(23年10月)数据统计1(23年10月)数据统计2(24年03月)数据统计2(24年03月)
参数量参数量ChatGLM2-6BChatGLM2-6BChatGLM3-6BChatGLM3-6B
发布时间发布时间2023年7月2023年7月2023年10月底 ChatGLM3版2023年10月底 ChatGLM3版
模型类型模型类型Chat (Fine-tuned with ?)Chat (Fine-tuned with ?)
上下文Tokens等8k, 32k8K,32K,128K 窗口版; 词表:65024
是否商用商用可,需填写问卷
其他基于 Multi-Query Attention 技术的高效推理; 基于 FlashAttention 技术拓展上下文长度源代码没有加入Transformers
技术报告https://arxiv.org/abs/2103.10360 https://arxiv.org/abs/2210.02414
最近月下载量6B:196kChatGLM3-6B: 112.5K 魔搭上人气:总下载量达到 924K

人气指数:下载量(Huggingface为最近月下载量,魔搭为总下载量, 统计日期 2024.03.08)

模型BaseChatHF合计魔搭:Chat版8K+32K(base版)
ChatGLM3-6B81.4K6.9K+14.2K+10K112.5K81.9K+224K (base:619K)

HF模型:

https://huggingface.co/THUDM/chatglm3-6b https://huggingface.co/THUDM/chatglm3-6b-base (Chat版)

Github: GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型

魔搭社区地址:

魔搭社区

通义千问 Qwen1.5

通义千问-7B(Qwen-7B)是阿里云研发的通义千问大模型系列。Qwen-7B是基于Transformer的大语言模型, 在超大规模的预训练数据上进行训练得到。预训练数据类型多样,覆盖广泛,包括大量网络文本、专业书籍、代码等。

项目数据统计1(23年10月)数据统计2(24年03月)
主要区别第一版Qwen1.5 第二版
参数量Qwen: 7B, 14BQwen1.5: 0.5B, 1.8B, 4B, 7B, 14B, and 72B
发布时间2023年8月(7B)9月(14B)2024年2月
训练数据7B(2.2万亿tokens)14B(超过3万亿Token)
模型类型Base,Chat(SFT,RLHF),量化版
上下文Tokens等原生长度2k, 8k;词表:152064支持32K上下文
是否商用商用可,需要问卷
其他开源代码中包含完成的LLM工具(引入了NTK插值、窗口注意力、 LogN注意力缩放等技术)Transformers支持(版本4.37.0,目前中国产LLM中第一个)
技术报告https://arxiv.org/abs/2309.16609
HF最近月下载量7B:26K 14B: 15K7B:66.5K (人气上升) 14B: 21.8K

人气指数:下载量(Huggingface为最近月下载量,魔搭为总下载量, 统计日期 2024.03.08)

模型BaseChatChat量化版(合计)HG合计魔搭:Chat版+4bit
0.5B58.2K38.2K1.6K98.0K16.9K
1.8B15.4K19.4K1.5K36.3K5.4k
4B8.7K7.8K2.3K18.8K2.2K
7B9.0K28.1K29.5K66.5K14.3K
14B6.2K12.6K3.0K21.8K6.2K
72B7.9K23.5K19.4K50.7K3.0K

7B模型的各个版本下载链接 https://huggingface.co/Qwen/Qwen1.5-7B https://huggingface.co/Qwen/Qwen1.5-7B-Chat https://huggingface.co/Qwen/Qwen1.5-7B-Chat-GPTQ-Int4 https://huggingface.co/Qwen/Qwen1.5-7B-Chat-GPTQ-Int8 https://huggingface.co/Qwen/Qwen1.5-7B-Chat-AWQ https://huggingface.co/Qwen/Qwen1.5-7B-Chat-GGUF

魔搭社区:

魔搭社区

文本向量模型技术选型

M3E

魔搭社区地址:

魔搭社区

特性

  • 中文训练集,M3E 在大规模句对数据集上的训练,包含中文百科,金融,医疗,法律,新闻,学术等多个领域共计 2200W 句对样本,数据集详见 M3E 数据集

  • 英文训练集,M3E 使用 MEDI 145W 英文三元组数据集进行训练,数据集详见 MEDI 数据集,此数据集由 instructor team 提供

  • 指令数据集,M3E 使用了 300W + 的指令微调数据集,这使得 M3E 对文本编码的时候可以遵从指令,这部分的工作主要被启发于 instructor-embedding

  • 基础模型,M3E 使用 hfl 实验室的 Roberta 系列模型进行训练,目前提供 small、base和large三个版本,大家则需选用

  • ALL IN ONE,M3E 旨在提供一个 ALL IN ONE 的文本嵌入模型,不仅支持同质句子相似度判断,还支持异质文本检索,你只需要一个模型就可以覆盖全部的应用场景,未来还会支持代码检索

bge-large-zh

魔搭社区地址:

魔搭社区

将任意文本映射为低维稠密向量,以用于检索、分类、聚类或语义匹配等任务,并可支持为大模型调用外部知识。

ModelLanguageDescriptionquery instruction for retrieval*
BAAI/bge-large-enEnglish🏆 在 MTEB 榜单上排名第一Represent this sentence for searching relevant passages:
BAAI/bge-base-enEnglishMTEB 榜单上排名第二Represent this sentence for searching relevant passages:
BAAI/bge-small-enEnglishsmall-scale模型,性能高于很多开源large-scale模型,推理更高效Represent this sentence for searching relevant passages:
BAAI/bge-large-zhChinese🏆 在 C-MTEB 榜单上排名第一为这个句子生成表示以用于检索相关文章:
BAAI/bge-large-zh-noinstructChineseC-MTEB 榜单上排名第二--
BAAI/bge-base-zhChinesebase-scale模型,与bge-large性能类似,但推理更快,向量维度更小为这个句子生成表示以用于检索相关文章:
BAAI/bge-small-zhChinesesmall-scale模型,推理比base模型更快为这个句子生成表示以用于检索相关文章:

知识库框架选型

langchain-chatchat

官网路径:GitHub - chatchat-space/Langchain-Chatchat: Langchain-Chatchat(原Langchain-ChatGLM)基于 Langchain 与 ChatGLM 等语言模型的本地知识库问答 | Langchain-Chatchat (formerly langchain-ChatGLM), local knowledge based LLM (like ChatGLM) QA app with langchain

用于学习原理功能简单,只支持知识库功能。

基于 ChatGLM 等大语言模型与 Langchain 等应用框架实现,开源、可离线部署的检索增强生成(RAG)大模型知识库项目。

✅ 依托于本项目支持的开源 LLM 与 Embedding 模型,本项目可实现全部使用开源模型离线私有部署。与此同时,本项目也支持 OpenAI GPT API 的调用,并将在后续持续扩充对各类模型及模型 API 的接入。

已经验证:langchat知识库+Qwen1.5-14B-Chat-GPTQ-Int4+bge-large-zh-v1.5在阿里云环境的部署

dify

官方地址:Dify.AI · The Innovation Engine for Generative AI Applications

开源地址:GitHub - langgenius/dify: Dify is an open-source LLM app development platform. Dify's intuitive interface combines AI workflow, RAG pipeline, agent capabilities, model management, observability features and more, letting you quickly go from prototype to production.

Dify 具有模型中立性,相较 LangChain 等硬编码开发库 Dify 是一个完整的、工程化的技术栈,而相较于 OpenAI 的 Assistants API 你可以完全将服务部署在本地。

功能Dify.AIAssistants APILangChain
编程方式面向 API面向 API面向 Python 代码
生态策略开源封闭且商用开源
RAG 引擎支持支持不支持
Prompt IDE包含包含没有
支持的 LLMs丰富仅 GPT丰富
本地部署支持不支持不适用

1. LLM支持:与 OpenAI 的 GPT 系列模型集成,或者与开源的 Llama2 系列模型集成。事实上,Dify支持主流的商业模型和开源模型(本地部署或基于 MaaS)。

2. Prompt IDE:和团队一起在 Dify 协作,通过可视化的 Prompt 和应用编排工具开发 AI 应用。 支持无缝切换多种大型语言模型。

3. RAG引擎:包括各种基于全文索引或向量数据库嵌入的 RAG 能力,允许直接上传 PDF、TXT 等各种文本格式。

4. AI Agent:基于 Function Calling 和 ReAct 的 Agent 推理框架,允许用户自定义工具,所见即所得。Dify 提供了十多种内置工具调用能力,如谷歌搜索、DELL·E、Stable Diffusion、WolframAlpha 等。

5. 持续运营:监控和分析应用日志和性能,使用生产数据持续改进 Prompt、数据集或模型。

fastgpt

官方地址:https://fastgpt.run/‍‍‍‍‍‍

开源地址‍: GitHub - labring/FastGPT: FastGPT is a knowledge-based platform built on the LLM, offers out-of-the-box data processing and model invocation capabilities, allows for workflow orchestration through Flow visualization!

在线体验:FastGPT

FastGPT 是一个基于 LLM 大语言模型的知识库问答系统,提供开箱即用的数据处理、模型调用等能力。同时可以通过 Flow 可视化进行工作流编排,从而实现复杂的问答场景!可以接入飞书、企业微信等

1 应用编排能力

  • 提供简易模式,无需操作编排

  • 对话下一步指引

  • 工作流编排

  • 源文件引用追踪

  • 模块封装,实现多级复用

  • 混合检索 & 重排

  • Tool 模块

  • 嵌入 Laf,实现在线编写 HTTP 模块

  • 插件封装功能

2 知识库能力

  • 多库复用,混用

  • chunk 记录修改和删除

  • 支持知识库单独设置向量模型

  • 源文件存储

  • 支持手动输入,直接分段,QA 拆分导入

  • 支持 pdf,docx,txt,html,md,csv

  • 支持 url 读取、CSV 批量导入

  • 支持 PPT、Excel 导入

  • 支持文件阅读器

  • 更多的数据预处理方案

3 应用调试能力

  • 知识库单点搜索测试

  • 对话时反馈引用并可修改与删除

  • 完整上下文呈现

  • 完整模块中间值呈现

  • 高级编排 DeBug 模式

4 OpenAPI 接口

  • completions 接口 (chat 模式对齐 GPT 接口)

  • 知识库 CRUD

  • 对话 CRUD

5 运营能力

  • 免登录分享窗口

  • Iframe 一键嵌入

  • 聊天窗口嵌入支持自定义 Icon,默认打开,拖拽等功能

  • 统一查阅对话记录,并对数据进行标注

我们现在可以做到什么?已经做到了什么?

已经实现了

实现了langchat知识库+Qwen1.5-14B-Chat-GPTQ-Int4+bge-large-zh-v1.5在阿里云环境的部署

后续可以

1.可以实现本地部署大模型等其他框架

2.实现知识库功能

3.实现prompt

4.实现Fine-tuning

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值