大模型面试:LLM+向量库的文档对话系统

1.基于LLM和向量数据库的智能对话系统设计与实现 在该项目中,实现以下几个模块:数据处理模块,向量数据库模块,意图识别模块,和提示优化模块。以下是一个大致的项目架构和代码示例。请注意,这只是一个示例,实际代码可能需要根据你的具体需求进行修改。 阅读详情

面试题 1.1

为什么大模型需要外挂(向量)知识库?如何将外部知识注入大模型,最直接的方法:利用外部知识对大模型进行微调

回答

大模型需要外挂(向量)知识库的原因:

  1. 知识更新频率:大模型在训练时使用的知识是静态的,而实际应用中知识不断更新,外挂知识库可以确保模型使用最新的信息。
  2. 知识覆盖范围:单纯依靠模型训练时的数据可能无法覆盖所有领域的知识,通过外挂知识库可以扩展模型的知识覆盖范围。
  3. 效率问题:在大模型中直接嵌入所有知识不仅训练成本高,而且在推理过程中也会导致效率低下,使用外挂知识库可以提高响应速度和效率。

将外部知识注入大模型的最直接方法:利用外部知识对大模型进行微调

思路:构建几十万量级的数据,然后利用这些数据对大模型进行微调,以将额外知识注入大模型。

优点:简单粗暴,能够直接将额外知识嵌入模型。

缺点:

  1. 效果有限:几十万量级的数据可能无法很好地将额外知识注入大模型,导致知识融合效果不理想。
  2. 训练成本高:需要多卡并行训练,且需要训练很多天,成本昂贵。

既然大模型微调不是将外部知识注入大模型的最优方案,那是否有其它可行方案?

可行方案:

  1. 使用外挂(向量)知识库:

    • 背景介绍:外挂知识库可以通过向量化的方式存储大量的知识点,并在模型推理过程中动态调用这些知识。知识库可以不断更新,确保模型使用最新的信息。
    • 实现方式:在模型推理时,通过检索和匹配机制,调用外挂知识库中的相关知识,以补充模型的回答。
  2. 知识蒸馏(Knowledge Distillation):

    • 背景介绍:知识蒸馏是一种从大模型向小模型传递知识的方法,可以将大模型中的知识提取并注入到小模型中,从而降低计算成本。
    • 实现方式:训练一个辅助模型,利用大模型的输出作为标签,指导小模型学习,从而将知识注入小模型。
  3. 检索增强模型(Retrieval-Augmented Generation, RAG):

    • 背景介绍:RAG模型结合了检索和生成的能力,通过检索模块找到相关的知识,再由生成模块生成回答。
    • 实现方式:在生成回答之前,首先通过检索模块找到相关知识,然后将检索到的信息与模型输入结合,通过生成模块生成最终回答。
  4. 动态适应机制(Dynamic Adaptation Mechanism):

    • 背景介绍:动态适应机制允许模型在推理过程中根据上下文动态调整和调用外部知识。
    • 实现方式:设计模型架构,使其能够在推理过程中动态调用外部知识库,并根据上下文信息进行调整和生成答案。

面试题 1.2

基于LLM+向量库的文档对话思路是怎么样?

回答

基于LLM+向量库的文档对话的基本思路包括以下步骤:

  1. 加载文件

    • 背景介绍:首先,需要加载包含要对话的文档文件。这可以是各种格式的文档,如PDF、Word、TXT等。
    • 实现方式:使用适当的库(如PyMuPDF、docx等)将文件加载到系统中。
  2. 读取文本

    • 背景介绍:将加载的文件内容读取成纯文本格式,便于后续处理。
    • 实现方式:利用文件处理库读取文本内容,并进行必要的预处理,如去除多余的空格和特殊字符。
  3. 文本分割

    • 背景介绍:为了便于向量化处理和提高检索效率,需要将长文本分割成较小的段落或句子。
    • 实现方式:可以使用自然语言处理技术进行段落或句子的分割,常用的方法包括按段落、句子或固定长度进行分割。
  4. 文本向量化

    • 背景介绍:将分割后的文本转换为向量表示,以便进行相似性计算。
    • 实现方式:利用预训练的语言模型(如BERT、GPT等)将文本段落转换为向量表示。可以使用开源库(如Sentence-BERT、Transformers等)实现向量化。
  5. 问句向量化

    • 背景介绍:将用户输入的问题转换为向量表示,以便与文档向量进行匹配。
    • 实现方式:同样使用预训练的语言模型将问题转换为向量表示。
  6. 在文本向量中匹配出与问句向量最相似的Top K个

    • 背景介绍:利用相似性度量(如余弦相似度)在文本向量库中找到与问句向量最相似的Top K个向量。
    • 实现方式:计算问句向量与所有文本向量的相似度,选择相似度最高的Top K个文本向量。可以使用快速检索算法(如FAISS)提高匹配效率。
  7. 匹配出的文本作为上下文和问题一起添加到Prompt中

    • 背景介绍:将找到的最相似的文本段落作为上下文信息,与用户的问题一起形成新的Prompt,提供给LLM生成回答。
    • 实现方式:将选中的Top K个文本段落拼接成一个上下文字符串,并将其与用户的问题一起构造新的输入Prompt。
  8. 提交给LLM生成回答

    • 背景介绍:将构造好的Prompt提交给预训练的大语言模型(LLM),生成最终的回答。
    • 实现方式:调用大语言模型的API或框架(如GPT-3、ChatGPT等),将Prompt输入模型,获取生成的回答。

图片

图片

面试题 1.3

基于LLM+向量库的文档对话核心技术是什么?

回答

基于LLM+向量库的文档对话核心技术:embedding

思路:

将用户知识库内容经过 embedding 存入向量知识库,然后用户每一次提问也会经过 embedding,利用向量相关性算法(例如余弦算法)找到最匹配的几个知识库片段,将这些知识库片段作为上下文,与用户问题一起作为 prompt 提交给 LLM 回答。

  1. Embedding(嵌入)技术

    • 背景介绍:Embedding 是将文本数据转换为固定长度的向量表示的技术,这些向量捕捉了文本的语义信息,便于后续的相似度计算和检索。
    • 实现方式:使用预训练的语言模型(如BERT、GPT)将文本转换为高维向量。常用的工具和库包括Transformers、Sentence-Transformers等。
  2. 向量相关性算法

    1. 背景介绍:向量相关性算法用于计算两个向量之间的相似度,常用的算法包括余弦相似度、欧氏距离等。

    2. 实现方式:

  3. 图片

  4. 向量检索工具

    1. 背景介绍:为了在大规模向量库中快速找到相似向量,使用专门的向量检索工具可以显著提高效率。
    2. 实现方式:常用的向量检索工具包括FAISS、Annoy等,它们支持高效的最近邻搜索和相似性计算。

面试题 1.4

基于LLM+向量库的文档对话 prompt 模板 如何构建?

回答

构建基于LLM+向量库的文档对话的 prompt 模板需要确保提供足够的上下文信息,并明确要求LLM生成简洁且专业的回答。以下是详细的模板构建思路及示例:

Prompt 模板构建思路:

  1. 提供上下文信息:确保 prompt 包含从向量库中匹配到的相关文本片段,作为上下文信息。
  2. 明确回答要求:指明LLM需要根据提供的上下文信息回答问题,若信息不足,则提示无法回答。
  3. 语言和风格要求:指定回答应使用中文,且不能添加编造成分,保证回答的准确性和专业性。

具体步骤:

  1. 准备上下文信息(context):从向量库中匹配到的最相似文本片段。
  2. 准备用户问题(question):用户提出的具体问题。
  3. 构建 prompt 模板:整合上下文信息和问题,并加入明确的回答指示。

Prompt 模板示例:

已知信息:{context}

根据上述已知信息,简洁和专业地回答用户的问题。如果无法从中得到答案,请说“根据已知信息无法回答该问题”或“没有提供足够的相关信息”,不允许在答案中添加编造成分。答案请使用中文。

问题是:{question}

基于LLM+向量库的文档对话优化面

痛点1:文档切分粒度不好把控,既担心噪声太多又担心语义信息丢失

问题描述

问题1:如何让LLM简要、准确回答细粒度知识?

  • 举例及标答:用户:2023年我国上半年的国内生产总值是多少?LLM:根据文档,2023年的国民生产总值是593034亿元。

  • 需求分析:

    1. 简要,不要有其他废话。
    2. 准确,不要随意编造。

问题2:如何让LLM回答出全面的粗粒度(跨段落)知识?

  • 举例及标答:用户:根据文档内容,征信中心有几点声明?LLM:根据文档内容,有三点声明,分别是:一、……;二……;三……。

  • 需求分析:

    1. 语义级别的分割,而不是简单基于html或者pdf的换行符分割。
    2. 防止模型只回答部分内容而遗漏其他重要信息。

解决方案:

原则:基于LLM的文档对话架构分为两部分:先检索,后推理。重心在检索(推荐系统),推理交给LLM整合即可。检索部分要满足三点:①尽可能提高召回率,②尽可能减少无关信息,③速度快。

具体实现:

语义切分和关键信息抽取

  • 语义切分方法1:利用NLP的篇章分析(discourse parsing)工具,提取段落之间的主要关系,并合并具有从属关系的段落,确保每段表达同一主题。
  • 语义切分方法2:利用BERT等模型进行语义分割,通过判断相邻段落的语义衔接关系来进行切分。可以设置相似度阈值进行合并或断开,保证切分的段落语义连贯。
  def is_nextsent(sent, next_sent):
  encoding = tokenizer(sent, next_sent, return_tensors="pt", truncation=True, padding=False)
  with torch.no_grad():
  outputs = model(**encoding, labels=torch.LongTensor([1]))
  logits = outputs.
  logitsprobs = torch.softmax(logits/TEMPERATURE, dim=1)
  next_sentence_prob = probs[:, 0].item()
          return next_sentence_prob > MERGE_RATIO

_RATIO

段落和句子的关键信息抽取

  • 方法1:利用成分句法分析(constituency parsing)和命名实体识别(NER)工具提取核心部分和重要实体。
  • 方法2:使用语义角色标注(Semantic Role Labeling)提取“谁对谁做了什么”的信息。
  • 方法3:使用关键词提取工具(如HanLP或KeyBERT)提取关键信息。
  • 方法4:训练一个生成关键词的模型,如ChatLaw中的KeyLLM模型。

多级索引系统

  • 组织所有文本成二级索引,第一级是关键信息,第二级是原始文本,二者一一映射。
    • 检索部分只对关键信息做embedding,参与相似度计算,把召回结果映射的原始文本交给LLM。

文档切片和检索

  • 基于语义切片,防止大粒度的切片带来噪声。
    • 使用高效的向量检索工具(如FAISS)和高质量的文本向量化工具,并对文本向量化工具进行微调。

痛点2:在基于垂直领域表现不佳

解决方案:

  1. 模型微调

    • 对embedding模型进行垂直领域数据微调。
    • 对LLM进行垂直领域数据微调。
痛点3:langchain 内置问答分句效果不佳

解决方案:

  1. 使用更好的文档拆分方式(如达摩院的语义识别模型)。
  2. 改进填充方式,仅添加相关度高的句子。
  3. 文本分段后,对每段分别总结,基于总结内容进行匹配。
痛点4:如何尽可能召回与query相关的Document

解决方案:

  1. 切分Document时,考虑Document的长度、Document embedding质量和被召回Document数量之间的相互影响。
  2. 使用高质量的文本向量化工具(如经过微调的工具)提高检索效果。
  3. 结合ES搜索结果与FAISS结果。
痛点5:如何让LLM基于query和context得到高质量的response

解决方案:

  1. 尝试多个prompt模板,选择最合适的。
  2. 用与本地知识问答相关的语料,对LLM进行微调。
痛点6:embedding模型在表示text chunks时偏差太大

解决方案:

  1. 用更小的text chunk配合更大的topk来提升表现。
  2. 使用适合多语言的embedding模型。
痛点7:不同的 prompt 可能产生完全不同的效果

解决方案:

  1. 构造合适的prompt,进行大量尝试。
  2. 训练和微调时,使用包含指令数据的instruction data。
痛点8:llm生成效果问题

解决方案:

  1. 选择适合的开源模型并进行微调,如llama2和baichuan2。
  2. 构造domain dataset进行微调,让LLM更符合特定需求。
痛点9:如何更高质量地召回context喂给LLM

解决方案:

  1. 更细颗粒度地做recall,提高召回质量。
  2. 使用学术相关的embedding模型和指令数据,优化pdf解析。

如何学习大模型 AI ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。

但是具体到个人,只能说是:

“最先掌握AI的人,将会比较晚掌握AI的人有竞争优势”。

这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在人工智能学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。但苦于知识传播途径有限,很多互联网行业朋友无法获得正确的资料得到学习提升,故此将并将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

在这里插入图片描述

第一阶段(10天):初阶应用

该阶段让大家对大模型 AI有一个最前沿的认识,对大模型 AI 的理解超过 95% 的人,可以在相关讨论时发表高级、不跟风、又接地气的见解,别人只会和 AI 聊天,而你能调教 AI,并能用代码将大模型和业务衔接。

  • 大模型 AI 能干什么?
  • 大模型是怎样获得「智能」的?
  • 用好 AI 的核心心法
  • 大模型应用业务架构
  • 大模型应用技术架构
  • 代码示例:向 GPT-3.5 灌入新知识
  • 提示工程的意义和核心思想
  • Prompt 典型构成
  • 指令调优方法论
  • 思维链和思维树
  • Prompt 攻击和防范
  • …

第二阶段(30天):高阶应用

该阶段我们正式进入大模型 AI 进阶实战学习,学会构造私有知识库,扩展 AI 的能力。快速开发一个完整的基于 agent 对话机器人。掌握功能最强的大模型开发框架,抓住最新的技术进展,适合 Python 和 JavaScript 程序员。

  • 为什么要做 RAG
  • 搭建一个简单的 ChatPDF
  • 检索的基础概念
  • 什么是向量表示(Embeddings)
  • 向量数据库与向量检索
  • 基于向量检索的 RAG
  • 搭建 RAG 系统的扩展知识
  • 混合检索与 RAG-Fusion 简介
  • 向量模型本地部署
  • …

第三阶段(30天):模型训练

恭喜你,如果学到这里,你基本可以找到一份大模型 AI相关的工作,自己也能训练 GPT 了!通过微调,训练自己的垂直大模型,能独立训练开源多模态大模型,掌握更多技术方案。

到此为止,大概2个月的时间。你已经成为了一名“AI小子”。那么你还想往下探索吗?

  • 为什么要做 RAG
  • 什么是模型
  • 什么是模型训练
  • 求解器 & 损失函数简介
  • 小实验2:手写一个简单的神经网络并训练它
  • 什么是训练/预训练/微调/轻量化微调
  • Transformer结构简介
  • 轻量化微调
  • 实验数据集的构建
  • …

第四阶段(20天):商业闭环

对全球大模型从性能、吞吐量、成本等方面有一定的认知,可以在云端和本地等多种环境下部署大模型,找到适合自己的项目/创业方向,做一名被 AI 武装的产品经理。

  • 硬件选型
  • 带你了解全球大模型
  • 使用国产大模型服务
  • 搭建 OpenAI 代理
  • 热身:基于阿里云 PAI 部署 Stable Diffusion
  • 在本地计算机运行大模型
  • 大模型的私有化部署
  • 基于 vLLM 部署大模型
  • 案例:如何优雅地在阿里云私有部署开源大模型
  • 部署一套开源 LLM 项目
  • 内容安全
  • 互联网信息服务算法备案
  • …

学习是一个过程,只要学习就会有挑战。天道酬勤,你越努力,就会成为越优秀的自己。

如果你能在15天内完成所有的任务,那你堪称天才。然而,如果你能完成 60-70% 的内容,你就已经开始具备成为一名大模型 AI 的正确特征了。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】
后端转大模型应用开发:RAG、Agent、微调、向量库与LLM部署全攻略 大模型应用开发已成为后端技术演进的重要方向。其核心不在于模型本身的训练,而在于如何将LLM与业务系统高效结合——RAG通过引入外部知识库降低幻觉并支持知识更新;Agent让模型具备自主规划与工具调用能力;LoRA微调以少量参数适配领域行为;向量库则承担着文本向量化与相似度检索的关键职责;提示词工程是最低成本的效果优化手段。从企业知识库问答到客服机器人,这些技术共同构成大模型落地的完整链路。理解从文档解析、文本切块、向量检索到生成回答的全流程,掌握llama.cpp、FastAPI等本地部署工具,正是后端工程 阅读详情

相关推荐

大模型面试题目精选分享

掌握大模型面试关键,我精选了一系列面试题目。从模型理解到应用实践,全方位考察大模型知识。无论你是初学者还是资深专家,这里都有适合你的题目。快来挑战自己,提升面试技能吧!

2401_85324918的博客 2091

【求职必备】AI大模型岗位面试之向量数据库考点汇总,一文看懂!

【求职必备】AI大模型岗位面试之向量数据库考点汇总,一文看懂!

大模型研究中心 1377

大模型面试题总结

一、大模型(LLMs)基础面 二、大模型(LLMs)进阶面 三、大模型(LLMs)微调面 四、大模型(LLMs)langchain面 1. 基于LLM+向量库的文档对话 基础面 2. 基于LLM+向量库的文档对话 优化面 3. LangChain的概念面试问题 4.LangChain的一些模块提问 5.LangChain的业务提问 6.LangChain的问题解决 五、LoRA、QLoRA、AdaLoRA篇 六、Fine tune 1)基础概念 2)为什么需要 P-tuning v2? 3)为什么需要 P-

谢白羽 1787

万字详解面试题库 - 向量数据库篇

本文系统梳理了向量数据库在AI Agent和RAG系统中的核心应用,涵盖18道面试题,包括向量数据库与传统数据库的区别、工作流程、模型选型、索引算法、检索优化等关键知识点。重点解析了向量数据库如何解决非结构化数据的语义存储与检索问题,对比了主流技术方案如Milvus、Faiss的特点,并详细介绍了HNSW、IVF等索引算法的适用场景。文章还提供了提高检索准确率的实用技巧,如查询扩展、HyDE技术等,以及参数调优和增量更新的工程实践建议。这些内容为开发者构建高效可靠的向量检索系统提供了全面指导。

楼兰剑客 358

R语言分布式滞后非线性模型DLNM实战:空气污染与健康数据的动态效应可视化与政策启示

本文详细介绍了R语言中分布式滞后非线性模型(DLNM)的应用,特别关注空气污染与健康数据的动态效应可视化。通过dlnm包实现PM2.5等污染物的滞后效应分析,提供从数据预处理、模型构建到结果可视化的完整流程,并探讨了其在公共卫生政策制定中的实际应用价值。

weixin_29079643的博客 514

WebRTC Qos优化杂记

本文是笔者对WebRTC Qos性能研究、优化的一些思考,希望对有兴趣的读者有一些启发。

sonysuqin的专栏 6677

面试被问“向量数据库”怎么答?看这一篇就够了,直接拿Offer!

面试官:来说说什么是向量数据库?你有没有做过向量数据库的对比选型?

xx_nm98的博客 478

在Windows11上安装ubuntu版linux系统并实现桌面图形化(WSL)

在Windows11上安装ubuntu版linux系统并实现桌面图形化(WSL),xfce桌面美化、安装google-chrome

NiKoJJ‘s Blog 1万+

每日面试题-什么是向量数据库?在基于大模型的应用开发中,向量数据库主要解决什么问题?

是专门用于存储、索引和检索高维向量数据的数据库系统。其核心能力是通过高效的相似性搜索算法(如余弦相似度),快速找到与查询向量最接近的数据项。向量数据库已成为大模型应用的基座组件,据行业统计,采用向量检索可使生成内容的事实准确性提升40-65%,同时降低70%以上的幻觉发生率。

weixin_45422672的博客 556

手把手教你用手机号注册的Apple ID成功登录Developer账户(避坑指南)

本文详细解析了使用手机号注册的Apple ID登录开发者账户时常见的'不符合使用条件'报错问题,并提供了从添加可验证邮箱到设置主账号的四步解决方案。特别针对Apple Developer账户的验证机制,帮助开发者避免因邮箱缺失导致的登录失败,提升账户激活成功率。

z5a6b的博客 1221

手把手教你用DevExpress Patch工具解决VS项目中的试用弹窗问题

本文详细指导开发者使用DevExpress Patch工具解决Visual Studio项目中恼人的试用弹窗问题。核心在于理解并分步处理:首先正确应用补丁工具以绕过运行时验证,然后重点清理或重置项目中的licenses.licx文件以消除编译时验证,从而彻底根治弹窗。

weixin_29234423的博客 588

超全总结!大模型算法面试指南(含答案)

LLM(Large Language Model,大型语言模型)是指基于大规模数据和参数量的语言模型。具体的架构可以有多种选择,以下是一种常见的大模型LLM的架构介绍:Transformer架构:大模型LLM常使用Transformer架构,它是一种基于自注意力机制的序列模型。Transformer架构由多个编码器层和解码器层组成,每个层都包含多头自注意力机制和前馈神经网络。这种架构可以捕捉长距离的依赖关系和语言结构,适用于处理大规模语言数据。

机器学习社区 6136

EMI辐射发射超标案例

EMI辐射发射超标案例

让你爱上电路设计 8503

【2025LLM面试必备】大模型面试题+详细答案:助你轻松应对,赶紧收藏!

层归一化LayerNorm在大语言模型LLMs中的不同位置有什么区别么?如果有,能介绍一下区别么?在大语言模型(LargeLanguageModels)中,LayerNorm(层归一化)可以应用在不同位置,包括输入层、输出层和中间隐藏层。这些位置的归一化有一些区别:输入层归一化:在输入层应用LayerNorm可以将输入的特征进行归一化,使得输入数据的分布更加稳定。这有助于减少不同样本之间的分布差异,提高模型的泛化能力。

m0_65555479的博客 1873

[CSP-X2025山东小学组T4]勇者斗恶龙

[CSP-X2025山东小学组T4]勇者斗恶龙,动态规划

少儿编程乔老师 150

单线激光雷达的工作原理

单线激光雷达通过单一激光束的水平扫描和时间 / 相位测量,实现二维环境的距离感知,是低成本二维导航的核心传感器。尽管其无法直接提供三维信息,但其可靠性和经济性使其在消费级和工业级场景中广泛应用。随着技术发展,部分单线雷达通过振动镜或 MEMS 微振镜实现微小角度偏转,可近似模拟多线扫描效果,进一步拓展了应用边界。

谢谢大家的关注和点赞!这里只有纯纯的知识干货,没有一句废话。希望能实实在在帮到大家~要是觉得有用,别忘了给我点支持哟,你 1859

【2025年大模型面试宝典】超详细汇总与答案,助你轻松应对面试挑战!_大模型面试题

LLM(Large Language Model,大型语言模型)是指基于大规模数据和参数量的语言模型。Transformer架构:大模型LLM常使用Transformer架构,它是一种基于自注意力机制的序列模型。Transformer架构由多个编码器层和解码器层组成,每个层都包含多头自注意力机制和前馈神经网络。这种架构可以捕捉长距离的依赖关系和语言结构,适用于处理大规模语言数据。自注意力机制(Self-Attention):自注意力机制是Transformer架构的核心组件之一。

m0_63171455的博客 1466

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

不用再找了,这是大模型最全的面试题库_大模型面试题

一、baichuan-7B篇baichuan-7B 如何 提高 训练稳定性和吞吐?baichuan-7B 如何 收集原始数据并 构建 训练数据?你了解baichuan-7B解构么?介绍一下?二、baichuan-13B篇如何 对 baichuan-13B 进行微调?如何 对 baichuan-13B 进行推理和部署?相比于 baichuan-7B,baichuan-13B 的 特点体现在哪里?三、baichuan-53B篇。

HUANGXIN9898的博客 821

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

2024大模型算法岗面试题总结(含答案)!2025大模型算法面试准备看这篇就够了!!

2024大模型算法岗面试题总结(含答案)!2025大模型算法面试准备看这篇就够了!!

qingkahui24689的博客 1120

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

【NLP】大模型最全八股和答案(上)

之前写过大模型面试八股/大模型面试八股含答案,后续有网友整理了更清晰的版本,推荐仓库:https://github.com/jackaduma/awesome_LLMs_interview_notes,点击阅读原文链接可直接访问。目录[x] 大模型(LLMs)基础面[x] 1. 目前 主流的开源模型体系 有哪些?[x] 2. prefix LM 和 causal LM 区别是什么?[x] 3. 涌...

fengdu78的博客 5866

2025最新超全总结!大模型算法面试指南(含答案)_大模型面试_大模型 面试

本文梳理了大模型(LLMs)面试常考知识点,涵盖基础概念、进阶问题、微调技巧及LangChain应用四大部分。基础面包括主流开源模型体系、架构原理及涌现能力;进阶面探讨复读机问题、长文本处理及领域模型选型;微调面讲解显存需求、数据构建及缓解遗忘的方法;LangChain面解析文档对话技术、痛点优化及核心组件。全文旨在帮助开发者快速掌握大模型核心知识体系,提供从理论到实践的完整学习路径。(149字)

qingkahui24689的博客 675

大模型LLM面试八股超细致总结(146页PDF)

花了近两个月整理的大模型八股文,从基础面到进阶、微调,推理,LangChain等等,以及大模型LLM高频面试题和答案,完整总结出来,现在无偿分享给大家咯

lyy2017175913的博客 1443

超详细!大模型面经指南(附答案)

LLM(Large Language Model,大型语言模型)是指基于大规模数据和参数量的语言模型。Transformer架构:大模型LLM常使用Transformer架构,它是一种基于自注意力机制的序列模型。Transformer架构由多个编码器层和解码器层组成,每个层都包含多头自注意力机制和前馈神经网络。这种架构可以捕捉长距离的依赖关系和语言结构,适用于处理大规模语言数据。自注意力机制(Self-Attention):自注意力机制是Transformer架构的核心组件之一。

python1222_的博客 1144
上一篇: 大模型外挂知识库优化-大模型辅助向量召回
下一篇: FastGPT:利用大模型重新定义传统知识库
AI大模型_学习君
博客等级 码龄3年 6137粉丝 551原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值