企业本地部署大型语言模型(LLMs)构建本地垂直领域知识库的策略|空天防御

探索大语言模型垂直化训练技术和应用-陈运文 产品化的是请垂直领域的专家,针对每项垂直任务,来设计用于生成 prompt 的产品,由专家编写大量不同的 prompt,评估或输出好的 prompt 后,进行片段切分,形成相应的产品,这对未来 AIGC 任务会起到很好的作用。由上往下,当计算机做一个长文档的规划协作生成的内容,我们让相应的其他模型做一个生成后,引入分类模型,判断生成段落的上下文和相关性,把其他的模型的结果串连在当前的模型当中,能够进行迭代和顺序的循环调用,这样就能够突破现有当前大语言模型在特别长的文本当中生成的短板,能够提升它的写作效能。 阅读详情

0 引言

在数字化转型的浪潮中,传统企业面临着前所未有的机遇与挑战。随着大数据、云计算和人工智能技术的发展,企业积累的私有数据成为了潜在的金矿,等待着被挖掘和利用。大型语言模型(LLMs)作为当前人工智能领域的前沿技术,能够帮助企业从海量数据中提取有价值的信息,优化决策流程,提升服务质量。

然而,如何在企业本地环境中充分利用私有数据发挥大模型的能力,是许多企业亟需解决的问题。大型语言模型(LLMs)在专有领域依然存在知识幻觉、答非所问等问题,距离行业应用落地依然面临不小挑战。企业内部具有丰富的领域场景,高质量、大规模的领域数据,而在互联网场景下,企业面临极大的数据安全与隐私挑战。如何利用企业内部数据发挥大模型能力,在利用大模型能力的过程中保证数据安全,避免任何的数据隐私泄露以及安全风险,成为一个当前研究的热点议题。

本文将简要介绍企业如何通过一系列策略和步骤,在本地部署和利用大模型,构建企业本地垂直领域知识库。

1 明确业务需求

在本地部署私有大型语言模型(LLMs)之前,企业首先需要明确其业务需求和目标。通过业务流程分析、痛点识别、资源评估、技术选型以及预期成果等步骤,识别哪些业务流程可以通过大型语言模型(LLMs)技术得到改进,例如代码生成、内容创作、数据分析和信息检索等。

2 数据收集与整理

数据是大型语言模型(LLMs)学习的基础,企业私有数据的质量和数量直接影响模型训练的效果。企业在长期运营过程中,积累了大量的私有数据。首先,企业需要确定哪些业务环节和操作中会产生有用的数据。常见的数据来源包括人力资源信息,财务信息、体系文件和试验数据等等。

企业需要对私有数据进行预处理和清洗,确保数据质量。这包括去除无关信息、纠正错误、标准化格式等,大型语言模型(LLMs)能够更好地理解和处理数据。

同时,企业需要投入资源,建立专业的数据科学团队,或者与专业的数据服务公司合作,以确保数据整理工作的专业性和效率。

3 模型选择和训练

企业在选择模型时需要考虑到模型的复杂性、性能和适用性。对于私有大模型的部署,可以选择从头开始训练一个模型,或者在现有开源模型的基础上利用企业私有数据进行微调,或者采用检索增强生成技术(RAG)。

关于训练大模型的具体成本,目前似乎尚无明确答案。大模型训练需要多少算力?OpenAI在GPT-4的训练中,动用了大约25000个A100 GPU,历时近100天,并采用分布式计算以加速模型的训练过程,从而使GPT-4表现出卓越性能。而一张英伟达A100的价格十万人民币以上,由此可见,想要训练出大模型,需要投入大量的成本。

微调虽然显著降低了成本,但是对模型进行微调并没有解决知识截止问题,因为它只是将知识截止推迟到了更晚的日期。因此,建议仅在数据更新的速度较缓的情况下通过微调技术来更新 LLMs 的内部知识。除了知识截止问题,目前微调还可以帮助减轻幻觉,但不能完全消除它们。一方面原因在于大模型在提供答案时没有引用其来源。因此,你不知道答案是来自预训练数据、微调数据集,还是大模型编造的。另一方面,如果我们使用 LLMs 创建微调数据集,则可能存在另一个可能的虚假来源。最后,经过微调的模型无法根据提出问题的用户自动提供不同的响应。同样,不存在访问限制的概念,这意味着与大模型互动的任何人都可以访问其所有信息,所以对于机密信息的处理就成为问题。

图片

图1 检索增强生成技术(RAG)和微调的对比[1]

检索增强生成技术(RAG)通过大型语言模型+知识召回的方式,解决通用大语言模型在专业领域回答缺乏依据、存在幻觉的问题,是各类基于大模型的知识问答应用的常用技术。RAG 有效地缓解了幻觉问题,提高了知识更新的速度,并增强了内容生成的可追溯性,使得大型语言模型在实际应用中变得更加实用和可信。并且,不同的用户可以根据自己的需求建立自己独特的知识库,保障了信息的知悉范围。

4 模型部署

首先选择对中文支持良好的开源大模型进行本地部署,以7B参数为例,国内开源大模型第一梯队当属阿里的通义千问Qwen 1.5,以及清华大学和智谱AI联合开发的ChatGLM3。

一方面可以通过部署开源工具进行本地大模型部署,Ollama是一个旨在简化大型语言模型本地部署和运行过程的工具。它提供了一个轻量级、易于扩展的框架,让开发者能够在本地机器上轻松构建和管理LLMs。通过Ollama,可以访问和运行一系列预构建的模型,或者导入和定制自己的模型,无需关注复杂的底层实现细节。

图片

图2 检索增强生成技术(RAG)[1]

另一方面,当前检索增强生成技术(RAG)有LangChain和 LlamaIndex 等流行框架。这些框架先从广泛的文档数据库中检索相关信息,把企业私有知识文档进行切片然后向量化后续通过向量检索进行召回,再作为上下文输入到大语言模型进行归纳总结。然后大模型利用这些信息来引导生成过程,极大地提升了内容的准确性和相关性。

企业可以利用开源大模型和开源工具将大模型部署到生产环境中,也可以与现有的IT基础设施和业务系统集成。通过整合内部文档、报告、用户手册和试验数据等资料,构建庞大企业知识库。这个知识库可以用来增强大模型的检索能力,使其在回答问题时能够引用更准确的信息。提供创新的智能搜索、智能问答、辅助创作、辅助阅读等认知能力,真正帮助企业实现内容管理“智能化”,进一步释放数据内容的价值。

5 持续监控和优化

部署私有大型语言模型(LLMs)并不是一次性的任务,而是一个持续的过程。企业需要持续监控模型的性能,收集用户反馈,并根据业务发展和市场变化结合RAG,同时对模型进行微调或者更新,提升大模型在企业垂直领域知识的精度。此外,企业还应定期评估模型输出的准确性,不断优化知识库内容。通过持续的监控和优化,企业可以确保其私有大模型始终处于最佳状态,为企业带来持续价值。

6 结论

本地部署大型语言模型(LLMs)构建企业垂直领域知识库是一个复杂的过程,需要企业在多个方面进行投入和规划。通过明确业务需求、合理处理数据、选择合适的模型、有效部署和持续优化,充分利用大模型的潜力,提升业务效率和企业的核心竞争力。随着AI技术的不断进步,本地部署的私有大模型将成为企业数字化转型的重要推动力。

​

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传优快云,朋友们如果需要可以微信扫描下方优快云官方认证二维码免费领取【保证100%免费】

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

大型语言模型在行业垂直领域的应用实践与挑战 大型语言模型在行业垂直领域的应用实践与挑战 作者:禅与计算机程序设计艺术 1. 背景介绍 近年来,大型语言模型(Large Language Models,LLMs)在自然语言处理领域取得了突破性进展,其在文本生成、问答、对话等任务上的表现不断超越人类水平。这些模型 阅读详情

相关推荐

RAG(检索增强生成)技术构建垂直领域或个人知识库

的领域知识库或个人知识管理系统,关键是根据场景需求平衡效果与成本。利用RAG(检索增强生成)技术构建垂直领域或个人知识库,需通过。通过以上步骤,可构建一个。

主攻大数据 人工智能 物联网 安全 低空经济等方向。mtsc 、gtest特邀分享嘉宾 1530

垂直领域知识图谱_哪个领域的知识图谱容易实现?

之前做了个知识图谱的调研,正好回答这个问题。阿力阿哩哩:知识图谱调研​zhuanlan.zhihu.com1. 知识图谱与数据库主要有两种数据库RDF数据形式的三元组库:基于关系存储的数据库代表为Oracle 12C + 图数据扩展组件,能管理高达1.08万亿个三元组信息属性图数据形式的图数据库:基于属性图存储的图数据库代表为Neo4j,目前还不支持管理三元组,但有向这方向演化的技术趋势大的技术趋...

weixin_39706861的博客 855

垂直领域知识图谱构建与应用

垂直领域知识图谱构建与应用 作者:禅与计算机程序设计艺术 1. 背景介绍 在当今信息爆炸的时代,如何有效地管理和利用海量的信息数据已经成为企业和组织面临的重大挑战。知识图谱作为一种新型的知识表示和管理方式,正在成为解决这一问题的关键技术之一。 知识图谱可以将信息中隐藏

AI天才研究院 1411

浅谈垂直领域大模型

在谈垂直领域大模型之前,我们先对目前的大模型做一个简单的梳理,看看大模型都有哪些。

dzysunshine的博客 1万+

垂直领域知识库构建实战:教育领域

垂直领域知识库构建实战:教育领域 1.背景介绍 1.1 知识库的重要性 在当今信息时代,知识是最宝贵的资源之一。有效管理和利用知识对于个人、组织和社会的发展至关重要。知识库作为一种结构化的知识管理系统,可以系统地收集、组织和共享特定领域的知识,

AI天才研究院 1321

RAG模型的知识库构建:打造专业的垂直领域知识库

1. 背景介绍 1.1 什么是知识库 知识库是一个存储和管理知识的系统,它可以帮助我们更有效地检索、组织和利用知识。知识库的构建是一个复杂的过程,涉及到知识的提取、表示、存储和检索等多个方面。在计算机科学领域,知识库的构建是一个重要的研究课题,尤其是在人工智能、自然语言处理和信息检索等领域。

AI架构师小马 1787

一口气说完!行业中各类先进的垂直大模型

垂直大模型(也称为领域专用大模型或行业专用大模型)是针对特定行业或领域进行优化的大语言模型。相比于通用大模型,这些模型在特定领域的数据和知识上进行额外的训练,因此在该行业的任务上表现更优。MedPaLMMedPaLM 是谷歌开发的专注于医疗健康领域的大语言模型,基于其强大的 PaLM(Pathways Language Model)扩展优化而来。该模型专为医学问答、疾病诊断和医学文献分析等任务设计,能够通过理解医学文本提供专业的建议和参考,帮助医疗从业者和患者做出更准确的医疗决策。

2401_85375186的博客 3012

AI大型语言模型RAG垂直领域知识图谱构建实践

AI大型语言模型RAG垂直领域知识图谱构建实践 作者:禅与计算机程序设计艺术 1. 背景介绍 近年来,随着大型语言模型技术的快速发展,其在各个垂直领域的应用日益广泛。其中,基于RAG (Retrieval-Augmented Generation)的大型语言模型

AGI×大数据,开启智能时代的认知跃迁;解码AGI,赋能数据驱动的智能革命。 1277

垂直领域知识图谱_知识图谱在垂直领域落地中的“三要素与两原则“

知识图谱技术现在已经是如火如荼的在各个行业遍地开花。我们团队算是国内比较早研究和应用知识图谱的团队。近年来除了在学术和通用领域知识图谱有不少成果外。也与不少行业企业有挺多项目合作,所以也积累了一些知识图谱落地过程中的经验。所以聊一下,知识图谱项目实际落地中一些方法论的东西。概括起来是“三要素与两原则”。一、知识图谱落地“三要素"先明确各个要素的作用和局限才能更好的开展后续的工作。知识图谱系统的核心...

weixin_39569389的博客 534

史上最全的Logisim存储系统实验教程(基于华中科技大学计算机组成原理实验)内赋源码下载

本博客是最全的最好的解释的华中科技大学计算机组成实验存储系统实验,本博客给出了电路实现,也给出了使用电路的原因有利于新手学习十分详细。并且内赋源码下载。

qq_62325622的博客 2万+

dify源码本地部署,dify k8s部署

Dify.AI 是一款简单易用且开源的 LLMOps 平台,帮助开发者更简单、更快速地创建 AI 应用。它的核心理念是通过可声明式的 YAML 文件定义 AI 应用的各个方面,包括 Prompt、上下文和插件等。Dify 提供了可视化的 Prompt 编排、运营、数据集管理等功能。这些功能使得开发者能够在数天内完成 AI 应用的开发,或将 LLM 快速集成到现有应用中,并进行持续运营和改进。

shykevin的博客 1015

大语言模型垂直化训练技术与应用

垂直化训练技术指的是针对特定行业或应用场景,对大语言模型进行定制化训练,使其能够更好地理解和生成特定领域的内容。这种训练方式的重要性在于,它能够提高模型在特定任务上的表现,同时减少对通用数据的依赖。垂直领域AIGC应用的关键点对现有的GPT模型进一步挖掘潜力,生成更有性价比的垂直大模型方案对优质训练数据的蒸馏加工,更好的体现垂直化、专业化的应用为toB客户量身打造好的大模型方案,探索更好的效果和高价值应用场景针对垂直应用场景,值得探索prompt等产品创新和功能增强垂直化训练的难点数据专业性。

AI从业者的专栏 2260

Linux:在使用UEFI固件的计算机上内核是如何被启动的

启动计算机通常不是一件难事:按下电源键,稍等片刻,你就能看到一个登录界面,再输入正确的密码,就可以开启一天的网上冲浪之旅了。但偶尔这件事没那么顺利,有时候迎接你的不是熟悉的登录界面,而是一个令人生畏的命令提示符界面,一闪一闪的提示符告诉你:“你碰到麻烦了”。于是你对着错误提示查找解决方法,按照网页上的步骤,你对着提示符输入并执行了几条你完全不理解的命令,计算机又能正常启动了,但同时你发现你那存有大学舍友糗照的硬盘分区被清空了。

imred的专栏 3069

怎么定制垂直行业自己的大语言模型?

需要注意的是,定制垂直行业自己的大语言模型需要具备一定的机器学习和自然语言处理领域的专业技能,包括Python编程、深度学习算法、自然语言处理技术等。在训练模型时,需要根据数据的质量和数量,选择合适的训练策略,包括学习率调整、批量大小、正则化和优化器等方面。经过数据清洗、模型设计、训练和调优等步骤,最终需要将所建立的大语言模型集成到自己的垂直行业应用中,并应用于实际业务中,从而提高业务的效率和质量。模型结构的设计主要包括选择合适的大模型的类型、模型的架构、模型的框架等方面。

qq_27104889的博客 1567

AI编程工具选哪个更高效?开发者深度评测

无论是代码生成、错误修复,还是架构设计,AI都能提供强大的辅助能力。然而,市面上AI编程工具众多,如何选择最适合自己的?本文将从代码质量、响应速度、多语言支持、集成能力等多个维度,为你解析2025年最主流的几款AI编程工具,帮助你做出更高效的选择。根据2025年最新调研数据,全球超过85%的开发者正在使用AI编程工具辅助开发,相比2023年增长了近40%。合理利用AI,能让你的开发效率提升数倍,但真正的核心竞争力,仍然在于你的编程思维和解决问题的能力。:技术较强的开发者、重视数据隐私的企业。

1857

stm32h743的hrtim使用生成pwm波

HRTIM(High-Resolution Timer)是一种高精度定时器,其时钟频率可直接与CPU主频同步,达到480MHz。相比之下,其他传统定时器需挂载在APB总线上,受总线频率限制,最高仅支持240MHz。这种直接时钟同步机制显著提升了定时器的分辨率和精度。

d13211322的博客 1614

【大模型本地化部署终极指南】:手把手教你从零搭建高性能私有化AI平台

掌握大模型本地化部署教程,轻松搭建私有化AI平台。涵盖环境配置、模型优化与高性能推理方案,适用于企业数据安全、定制化AI服务等场景。全流程实操指导,零基础也能快速上手,值得收藏。

LogicPlex的博客 1380

【硬刚Hadoop】HADOOP MAPREDUCE(1):概述

本文是对《【硬刚大数据之学习路线篇】从零到大数据专家的学习指南(全面升级版)》的Hadoop部分补充。 1 MapReduce定义 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序,并发运行在一个Hadoop集群上。 2MapReduce优缺点 2.1 优点 1)MapReduce易于编程 它简单的实现一些接口,就可以完成一个分布式程序..

微信搜:import_bigdata,大数据领域硬核原创作者 464

【大模型理论篇】大模型LLM在垂直领域的应用(RAG、微调等)分析

大模型、RAG、检索增强生成、llm、自然语言处理、垂直领域、商业化、推荐、检索、匹配

源泉的小广场 1万+

RT-DETR改进策略【卷积层】| CGblock 内容引导网络 利用不同层次信息,提高多类别分类能力 (含二次创新)

本文记录的是利用中的模块优化的目标检测网络模型。通过局部特征提取器、周围环境提取器、联合特征提取器和全局环境提取器来提取局部特征、周围环境和全局环境信息,充分利用不同层次的信息。本文将其应用到中,并进行二次创新,使网络能够更好的处理多类别目标的分类能力。CGNet: A Light-Weight Context Guided Network for Semantic Segmentation1️⃣ 首先通过局部特征提取器floc(∗)floc(*)floc(∗)和周围环境提取器fsur(∗)f_{sur }

Limiiiing的博客 1351

6.4 直流无刷电机(BLDC):测试与性能评估

本文系统阐述了直流无刷电机(BLDC)的测试与性能评估方法,涵盖参数测量、性能测试、测试平台设计及可靠性评估。详细介绍了绕组电阻、电感和反电动势的测量原理与修正方法,以及转矩-转速特性、效率分析和动态响应测试的技术要点。通过搭建高精度测功机系统,结合自动化数据处理,实现对电机性能的全面评估。最后讨论了温升、振动、EMC等特殊测试方法,为BLDC电机的设计验证和质量控制提供了完整的技术路径。

技术工作者 445

一文看懂:垂直领域AI大模型是如何训练的

学习专业知识(Continue Pretrain )→ 做练习题(Fine-tune )→ 老师指导纠错(RLHF)→评估效果(Model Evaluation)。评估标准的设计有很多种,我们后面展开再聊,但有一个认知很重要:评估标准对于客观评价模型能力至关重要,这个阶段就像软件测试一样,决定上线后的质量。模型训练是一件高成本的事情且不是必须的,如果你是做一个Copilot(助手 ) ,提示词+工作流 是一个高性价比的选择。

2401_85373691的博客 3555

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

【前沿技术】企业本地部署大型语言模型(LLMs)构建本地垂直领域知识库的策略

在数字化转型的浪潮中,传统企业面临着前所未有的机遇与挑战。随着大数据、云计算和人工智能技术的发展,企业积累的私有数据成为了潜在的金矿,等待着被挖掘和利用。大型语言模型(LLMs)作为当前人工智能领域的前沿技术,能够帮助企业从海量数据中提取有价值的信息,优化决策流程,提升服务质量。

datian1234的博客 1365

深度学习工具包 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")

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

【必收藏】从零构建垂直领域RAG知识库:手把手教你打造智能问答助手

本文详细介绍了如何构建垂直领域RAG知识库系统,通过"智能菜谱问答助手"案例展示了从零搭建的完整流程。系统包含数据准备、索引构建、检索优化和生成集成四大模块,并解决了三大工程挑战:检索粒度与理解粒度的矛盾(父子文档索引)、语义检索的局限性(混合检索+RRF算法)、用户意图的模糊性(意图路由和查询重写)。文章强调,虽然低代码平台降低了RAG门槛,但开发者理解原理并手动构建系统才能获得白盒化调试能力、极致灵活性和技术迁移价值。 ---

2401_85373691的博客 1298

InternLM 实战营 作业2

一、复现课程知识库助手搭建过程 二、选择一个垂直领域,收集该领域的专业资料构建专业知识库,并搭建专业问答助手,并在OpenXLab上成功部署(截图,并提供应用地址)

2301_77209094的博客 596

【学习记录】金融垂直领域LLM

本文主要记录开源的金融LLM,还有对金融垂直领域LLM和通用LLM的一些思考。

LZXCyrus的博客 2630
上一篇: LLM+P:赋予大语言模型最佳机器人规划能力
下一篇: LoRD|基于激活感知的LLMs低秩压缩
少喝冰美式
博客等级 码龄3年 6846粉丝 517原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值