独家分享 | 构建大型语言模型应用:一份详细的指南,大模型入门到精通,收藏这篇就足够了!

从接线到组态:手把手教你搞定PROFIBUS-DP与PA的混合网络搭建(基于西门子TIA Portal) 本文详细介绍了PROFIBUS-DP与PA混合网络的搭建方法,基于西门子TIA Portal平台,从硬件选型、网络架构设计到组态配置和现场调试,提供了一套完整的实战指南。重点解析了DP/PA耦合器的使用、地址映射策略及网络诊断技巧,帮助工程师高效构建高可靠性的工业自动化网络。 阅读详情

在过去两年中,我帮助过许多组织利用LLM构建了创新应用。基于这些经验以及LLM.org.il社区的宝贵见解,我总结出一套经过实战检验的构建创新方案的方法,在本文中与大家分享。

本指南将为你在LLM原生开发的复杂领域中指明方向。你将学习如何从构思阶段逐步推进到实验、评估和产品化,最终释放潜力,创造出颠覆性的应用。

为什么标准化流程至关重要

LLM 领域发展日新月异,几乎每天都会听到新的突破性创新。这固然令人兴奋,但也让人感到无所适从——你可能会渐渐开始迷茫,不知道下一步该往哪里走,也不知道如何将脑中的奇思妙想变成现实。

简而言之,如果你是一位想要高效构建 LLM 原生应用程序的 AI 创新者(无论是管理者还是从业者),那么本文都将为你指点迷津。

实施标准化流程有助于启动新项目,并具备以下几个关键优势:

1.标准化流程——标准化流程有助于团队成员保持步调一致,并确保新成员能够快速融入团队(尤其是在当前瞬息万变的局面下)。

2.定义清晰的里程碑——清晰的里程碑能让你以一种简单直接的方式跟踪工作进度,衡量工作成果,并确保始终处于正确的研究方向上。

3.确定决策点——LLM 原生开发充满了未知数和“小型实验”[见下文]。清晰的决策点可以降低风险,并始终保持精益的开发方式。

LLM 工程师的必备技能

与软件研发领域中其他任何已有的角色不同,LLM 原生开发绝对需要一个全新的角色:LLM 工程师或AI 工程师。

LLM 工程师是一个独特的混合型人才,需要具备以下不同(已有的)角色的技能:

  • 软件工程技能——与大多数软件工程师一样,这项工作的大部分内容都涉及将各个组件组装并粘合到一起。

  • 研究技能——正确理解 LLM 原生实验的本质至关重要。虽然构建“酷炫的演示应用程序”很容易,但从“酷炫的演示”到真正落地且切实可行的解决方案之间,你需要通过大量的实验并且拥有敏捷的反应才可能实现。

  • 深入的业务/产品理解——由于模型本身的脆弱性,理解业务目标和流程比坚持预先定义的架构更为重要。对人工流程进行建模的能力是 LLM 工程师的一项重要技能。

在撰写本文时,LLM 工程仍然是一个全新的领域,招聘可能会非常困难。拥有后端/数据工程或数据科学背景的候选人都是不错的选择。

软件工程师可能会更容易过渡到 LLM 工程师的角色,因为与传统的数据科学工作相比,LLM 的实验过程更偏“工程化”,而没有那么强的“科学研究”属性。话虽如此,我也见过许多数据科学家成功转型到这个领域。只要愿意学习新的软技能,就可以实现成功转型!

LLM 原生开发的关键要素

与传统的后台应用程序(例如 CRUD)不同,构建 LLM 原生应用程序没有现成的、可以按部就班的流程方法。正如所有“AI”领域的工作一样,它需要你具备研究和实验的心态。

为了驾驭这头名为“LLM”的野兽,你必须采取分而治之的策略,将工作分解成更小的实验,逐个尝试,并最终选择最有希望的实验方向。

无论怎样强调研究心态的重要性都是不为过的。因为你可能会花大量时间探索一个研究方向,最终却发现它“不可行”、“不够好”或者“不值得”。这完全没有关系——所有探索的过程都是有价值的,这表明你正在一步步接近正确的道路!

使用 LLM 进行实验是构建 LLM 原生应用的唯一途径(同时也能避开过程中的“陷阱”) (图片由 Dall-E3 创建)

拥抱实验:流程的核心

在 LLM 原生开发过程中,实验并不总是会成功。有时,你尝试了一种方法,结果失败了,然后你稍微调整了一下方向,就发现取得了意想不到的进展。

所以在设计最终解决方案之前,必须从小处着手,并对冲风险。

1.定义“预算”或时间范围。可以先设定一个周期,比如 X 周,看看能取得哪些进展,然后再决定如何继续或是否值得继续。通常情况下,2-4 周的时间足以让我们对基本的 PoC 有所了解。如果看起来很有希望,就可以继续投入资源进行改进。

2.实验——无论是在实验阶段选择自下而上还是自上而下的方法,我们的目标都是最大限度地提高实验的成功率。在第一次实验迭代结束时,你应该获得了一些 PoC(利益相关者可以试用的原型)以及一个可以作为参考的基线。

3.回顾——在研究阶段结束时,我们可以评估构建这样一个应用程序的可行性、局限性和成本。这有助于我们决定是否将其产品化,以及如何设计最终产品及其用户体验。

4.产品化——按照标准的软件工程最佳实践,开发出可供生产的项目版本,并将其集成到解决方案的其他部分,并实施反馈和数据收集机制。

LLM 原生应用程序开发生命周期(图片由作者提供)

为了更好地实施以实验为导向的流程,我们必须明智地决定如何开展和构建这些实验:

从小处着手:自下而上的方法

尽管许多人早期都急于尝试“最先进的”多链智能体系统,并使用功能齐全的 Langchain 或类似的工具,但我发现“自下而上的方法”通常会带来更好的结果。

从小处着手,越小越好,遵循“一个提示解决所有问题”的理念。虽然这种策略乍看之下可能有些不走寻常路,而且一开始很可能效果不佳,但是它为你的系统建立了一个可以不断迭代的基线。

从这个基线出发,可以不断迭代和优化提示,采用各种提示工程技术来优化结果。当你发现解决方案中的不足之处时,可以通过添加分支来解决这些问题,就像一颗不断生长的小树苗。

在设计我的 LLM 工作流程图(或者说 LLM 原生架构)中的每个“叶子”节点时,我都会遵循 LLM 三角形原则³ 来决定何时何地裁剪分支、拆分分支或加粗根部(通过使用提示工程技术),并尽可能多地榨取柠檬汁,物尽其用。

自下而上方法的图示(图片由作者提供)

例如,要使用自下而上的方法实现“自然语言 SQL 查询”,首先将简单的模式发送给 LLM,并要求它生成一个查询。

自下而上方法的示例(图片由作者提供)

通常,这并不与“自上而下的方法”相矛盾,而是作为自上而下方法之前的另一个步骤。这使我们能够快速获得成功,并吸引更多的项目投资。

预先构思全局:自上而下的策略

“我们知道 LLM 工作流程并不简单,为了实现目标,最终可能会设计出某种工作流程或 LLM 原生架构。”

自上而下的方法首先认可了这一点,它从一开始就开始设计 LLM 原生架构,再实现其不同的步骤/链,就像一个技艺高超的工匠,先绘制出整个作品的蓝图,然后再精雕细琢。

通过这种方式,可以将整个工作流程架构作为一个整体进行测试,就像挤压整个柠檬一样,而不是分别处理每个部分。

自上而下方法流程:一次性设计架构,然后实施、测试并衡量结果(图片由作者提供)

例如,要使用自上而下的方法实现“自然语言 SQL 查询”,我们会在开始编码之前先设计架构,然后直接进行完整的实现:

自上而下方法的示例(图片由作者提供)

找到合适的平衡点

开始尝试使用 LLM 时,你可能会从两个极端开始,要么是过于复杂的“自上而下”方法,要么是超级简单的“单次尝试”方法。但现实中,这种方式往往会失败。

理想情况下,你应该在编码和使用模型进行实验之前,先定义好 SoP(标准操作程序)¹ 并对专家进行建模。但在现实中,建模非常困难,有时你甚至找不到合适的专家。

我发现,想要在第一次尝试就确定一个好的架构或 SoP¹ 非常困难,所以,在投入大量精力之前,最好先进行一些轻量级的实验,就像先试试水深再决定是否要跳下去。当然,这并不意味着所有东西都要过于精简。如果你已经知道某些事情必须拆分成更小的部分,那就不要犹豫,大胆地去做。

在设计解决方案时,你应该利用 LLM 三角形原则³ 并正确地对人工流程进行建模。

优化解决方案:榨取柠檬汁

在实验阶段,我们要不断地“榨取柠檬汁”,也就是不断增加复杂度,尝试不同的方法来优化解决方案:

  • 提示工程技术——例如少样本学习、角色分配,甚至动态少样本学习。

  • 扩展上下文窗口,从简单的变量信息到复杂的 RAG 流程,都可以帮助你提升模型效果。

  • 尝试不同的模型——不同的模型在不同的任务上表现不同。此外,大型 LLM 通常成本效益不高,你可以尝试一些更适用于特定任务的小型模型。

  • 提示瘦身——我发现,对 SoP¹ (特别是提示和请求的输出)进行“瘦身”通常可以缩短模型响应时间。通过减少提示的大小和模型需要执行的步骤,我们可以减少模型需要处理的输入和输出。你可能会感到惊讶,但“提示瘦身”有时甚至可以提高模型输出的质量!

不过“瘦身”也可能会导致质量下降,所以在此之前,设置健全性测试非常重要。

  • 将流程分解成更小的步骤也非常有益,可以让你更容易、更切实可行地优化 SoP¹ 的子流程。

但这可能会增加解决方案的复杂性,或者降低性能(例如,增加处理的标记数量)。为了减轻这种情况,应尽量使用简洁的提示和更小的模型。

根据经验,当系统提示的巨大变化可以为 SoP¹ 流程的某个部分带来更好的结果时,通常就应该将其拆分。

挤柠檬 图片由 Dall-E3 创建‍

LLM 实验的剖析

就我个人而言,我更喜欢使用 Python、Pydantic 和 Jinja2,从一个简单的 Jupyter Notebook 开始,从小处开始着手:

1.使用 Pydantic 定义模型输出的模式。

2.使用 Jinja2 编写提示模板。

3.定义结构化的输出格式(使用 YAML²)。这样可以确保模型遵循“思考步骤”,并以我的 SoP 为指导。

4.使用 Pydantic 验证来确保输出符合预期;如果需要,可以进行重试。

5.将你的工作进行结构化——使用 Python 文件和包将代码组织成不同的功能单元。

在更广泛的范围内,可以使用各种工具来辅助开发,例如:

  • 使用 openai-streaming 轻松实现流式传输;

  • 使用 LiteLLM 跨不同的 LLM 提供商,使用统一的标准化接口;

  • 使用 vLLM 来提供开源的 LLM 模型服务。

通过健全性测试和评估来确保质量

健全性测试用于评估项目的整体质量,并确保模型表现没有低于预先设定的成功率基线。

可以把解决方案/提示想象成一条短毯子——如果把它拉得太长,它可能会无法覆盖原本可以覆盖的区域。

为了避免这种情况,需要定义一组已经测试通过的用例,并确保模型在这些用例上的表现始终稳定可靠(或者至少保证性能下降在可接受范围内)。可以参考表格驱动的测试方法来实现。

评估“生成性”解决方案(例如文本生成)的成功与否,要比评估其他类型的 LLM 应用(例如分类、实体提取等)复杂得多。对于这类任务,可能需要借助更强大的模型(例如 GPT-4、Claude Opus 或 LLAMA3-70B)来充当“评判者”,判断模型的输出质量是否达标。

此外,尝试在“生成性”输出之前添加一些“确定性”的输出内容也是个好方法,因为这类输出内容更容易进行测试:

有一些前沿的、很有前景的解决方案值得研究。我发现它们在评估基于 RAG 的解决方案时尤其相关:可以看看 DeepChecks、Ragas 或 ArizeAI。

做出明智的决定:回顾的重要性

在每个主要的/有时间限制的实验或里程碑之后,应该停下来思考一下,就如何以及是否继续采用这种方法做出明智的决定。

此时,你的实验将有一个清晰的成功率基线,你也会对需要改进的地方有所了解。

这也是一个开始讨论该解决方案的产品化含义并开始进行“产品工作”的好时机:

1.这在产品中会是什么样子?

2.有哪些限制/挑战?你将如何缓解它们?

3.你目前的延迟是多少?足够好吗?

4.用户体验应该是什么样的?你可以使用哪些 UI 技巧?流式传输有帮助吗?

5.估计的代币花费是多少?我们可以使用更小的模型来减少花费吗?

6.什么是优先事项?是否有任何挑战是不可克服的?

假设我们实现的基线“足够好”,并且我们相信我们能够克服我们提出的问题。在这种情况下,我们将继续投资和改进该项目,同时确保它不会退化,并使用健全性测试。

图片由 Dall-E3 创建‍

从实验到产品:让你的解决方案落地

最后,我们要将辛辛苦苦开发的成果产品化。与任何其他生产级解决方案一样,我们需要实现各种生产工程概念,例如日志记录、监控、依赖项管理、容器化、缓存等等。

这是一个庞大而复杂的领域,但幸运的是,我们可以借鉴传统软件工程中的许多机制,甚至直接采用许多现有工具。

当然,也需要格外注意 LLM 原生应用程序的一些特别的地方:

  • 反馈回路——如何衡量应用的成功?是简单粗暴地使用“点赞/踩”机制,还是设计更复杂、更能反映用户实际使用情况的指标体系?

  • 收集这些数据至关重要,因为它可以帮助我们重新定义健全性“基线”,或者使用动态少样本学习等技术来微调模型,进一步提升模型效果。

  • 缓存——与传统的软件工程不同,当我们的解决方案中涉及到生成式 AI 时,缓存会变得非常困难。为了缓解这个问题,我们可以探索缓存相似结果的方法(例如使用 RAG),或者通过严格定义输出模式来减少生成内容的差异性。

  • 成本跟踪——许多公司都倾向于一开始就选择“强大的模型”(例如 GPT-4 或 Opus),但在实际生产环境中,模型的调用成本可能会迅速上升,让你收到账单的时候大吃一惊。为了避免这种情况,请务必提前测量好输入/输出的 token 数量,并密切关注模型对工作流程的影响(如果没有做好这些,那么祝你好运,你可能要费尽心思才能找到性能瓶颈)。

  • 可调试性和跟踪——确保你已经设置了合适的工具来跟踪“有缺陷的”输入,并在整个流程中对其进行跟踪。这通常需要记录用户输入以供后续调查,并建立完善的跟踪系统。请记住:与传统的软件不同,AI 经常会在毫无征兆的情况下出现错误!

写在最后:你我在 LLM 原生技术发展中的角色

本文到这里就接近尾声了,但这仅仅是一个开始。LLM 原生应用的开发是一个不断迭代的过程,它会涵盖越来越多的用例和功能,也会面临各种各样的挑战,而我们也需要不断探索,力求打造更加完善的 LLM 原生产品。

在你的 AI 开发旅程中,请保持敏捷,勇于尝试,并始终以用户体验为评判基准。也欢迎大家积极与社区分享你的经验和见解,让我们携手同行,共同推动 LLM 原生应用的发展,探索无限可能!

大模型算是目前当之无愧最火的一个方向了,算是新时代的风口!有小伙伴觉得,作为新领域、新方向人才需求必然相当大,与之相应的人才缺乏、人才竞争自然也会更少,那转行去做大模型是不是一个更好的选择呢?是不是更好就业呢?是不是就暂时能抵抗35岁中年危机呢?

答案当然是这样,大模型必然是新风口!

那如何学习大模型 ?

由于新岗位的生产效率,要优于被取代岗位的生产效率,所以实际上整个社会的生产效率是提升的。但是具体到个人,只能说是:

最先掌握AI的人,将会比较晚掌握AI的人有竞争优势。
这句话,放在计算机、互联网、移动互联网的开局时期,都是一样的道理。

但现在很多想入行大模型的人苦于现在网上的大模型老课程老教材,学也不是不学也不是,基于此我用做产品的心态来打磨这份大模型教程,深挖痛点并持续修改了近100余次后,终于把整个AI大模型的学习路线完善出来!

在这里插入图片描述

在这个版本当中:

您只需要听我讲,跟着我做即可,为了让学习的道路变得更简单,这份大模型路线+学习教程已经给大家整理并打包分享出来, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉优快云大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全咨料,放心领取)👈

​

一、大模型经典书籍(免费分享)

AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。

在这里插入图片描述

二、640套大模型报告(免费分享)

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

三、大模型系列视频教程(免费分享)

在这里插入图片描述

四、2025最新大模型学习路线(免费分享)

我们把学习路线分成L1到L4四个阶段,一步步带你从入门到进阶,从理论到实战。

img

L1阶段:启航篇丨极速破界AI新时代

L1阶段:了解大模型的基础知识,以及大模型在各个行业的应用和分析,学习理解大模型的核心原理、关键技术以及大模型应用场景。

img

L2阶段:攻坚篇丨RAG开发实战工坊

L2阶段:AI大模型RAG应用开发工程,主要学习RAG检索增强生成:包括Naive RAG、Advanced-RAG以及RAG性能评估,还有GraphRAG在内的多个RAG热门项目的分析。

img

L3阶段:跃迁篇丨Agent智能体架构设计

L3阶段:大模型Agent应用架构进阶实现,主要学习LangChain、 LIamaIndex框架,也会学习到AutoGPT、 MetaGPT等多Agent系统,打造Agent智能体。

img

L4阶段:精进篇丨模型微调与私有化部署

L4阶段:大模型的微调和私有化部署,更加深入的探讨Transformer架构,学习大模型的微调技术,利用DeepSpeed、Lamam Factory等工具快速进行模型微调,并通过Ollama、vLLM等推理部署框架,实现模型的快速部署。

img

L5阶段:专题集丨特训篇 【录播课】

img

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方二维码,免费领取

👉优快云大礼包🎁:全网最全《LLM大模型学习资源包》免费分享(安全资料,放心领取)👈

​

【QT开发】web开发,内嵌网页展示和交互工具QWebEngineView类详解及实战应用 QWebEngineView 类为 Qt 应用提供了强大的网页展示和交互能力。通过合理运用其方法、属性和事件,能够创建出功能丰富、用户体验良好的网页浏览界面。在开发过程中,要注意处理常见问题,以确保网页的正常展示和交互效果。 阅读详情

相关推荐

立创EDA实战:基于NE555的夜间氛围呼吸灯电路设计与模式切换

本文详细介绍了使用立创EDA设计基于NE555芯片的夜间氛围呼吸灯电路。项目核心是利用NE555产生PWM信号,并通过RC充放电电路实现LED亮度的缓慢周期性变化,形成呼吸效果。文章手把手教学,涵盖从电路原理分析、元件参数计算,到在立创EDA中进行原理图绘制、PCB布局布线,直至焊接调试的完整硬件设计流程,是电子爱好者入门实战的经典项目。

weixin_42153793的博客 125

新书!大模型新书推荐丨大型语言模型实战指南:应用实践与场景落地(附PDF)大模型入门到精通,收藏这篇就足够了!

哈喽啊大家,最近又收集到一本大模型方面的书,就是这本 《大型语言模型实战指南:应用实践与场景落地》

pythonhy的博客 896

SillyTavern与Claude Code API集成:从零搭建AI聊天酒馆的完整指南

本文提供了一份从零搭建SillyTavern AI聊天前端的完整指南,重点讲解如何将其与Claude Code API集成。内容涵盖Node.js环境准备、SillyTavern部署、OpenAI兼容格式的API配置、模型选择与参数调校,以及角色扮演、扩展功能等高级玩法,帮助用户打造本地化、可定制的专属AI聊天体验。

assembly8low的博客 2612

深入解析大型语言模型:从训练到部署大模型,大模型入门到精通,收藏这篇就足够了!

随着数据科学领域的深入发展,大型语言模型——这种能够处理和生成复杂自然语言的精密人工智能系统—逐渐引发了更大的关注。

2301_81940605的博客 891

基于大模型的脑疝全流程预测与诊疗方案研究

目录一、引言1.1 研究背景与目的1.2 研究意义1.3 大模型技术概述二、脑疝概述2.1 定义与分类2.2 发病机制与病因2.3 临床表现2.4 诊断方法三、大模型在脑疝预测中的应用3.1 数据采集与预处理3.2 模型训练与选择3.3 模型验证与优化四、术前预测与评估4.1 病情严重程度预测4.2 手术风险预测4.3 个性化手术方案制定4.4 麻醉方案制定五、术中监测与决策5.1 实时监测指标5.2 大模型辅助决策5.3 应对突发情况六、术后评估与护理6.1 术后恢复情况评估6.2 并发症风险预测与预防6

嵌入式毕设/课设资料清单(速查手册·文档模板·题库,持续更新)→ 见最新文章 1285

深入解析6T SRAM的读写机制与性能优化

本文深入解析了6T SRAM的基本结构与核心工作原理,详细阐述了其读写操作的具体时序与机制。文章重点探讨了在先进工艺下面临的读写稳定性、写入能力等性能挑战,并系统介绍了写入辅助与读取辅助等关键优化技术,旨在提升SRAM的可靠性与整体性能。

weixin_29205061的博客 1225

新书!大模型新书!大型语言模型实战指南:应用实践与场景落地,大模型入门到精通,收藏这篇就足够了!

哈喽啊大家,最近又收集到一本大模型方面的书,就是这本 《大型语言模型实战指南:应用实践与场景落地》

2401_82469710的博客 915

YOLOv8改进 | 融合篇,YOLOv8改进主干网络为MobileNetV3+CA注意机制+添加小目标检测层(全网独家首发,实现极限涨点)

小目标检测难点众多,导致很多算法对小目标的检测效果远不如大中型目标。影响算法性能的主要原因如下:第一,小目标分辨率低、信息量不足,导致神经网络提取到的有效特征较少。第二,小目标在图像中所占的区域较小,易受背景干扰,这对算法的定位性能要求较高。第三,小物体标注困难,训练数据有限,导致模型泛化能力差。例如多尺度学习、无锚机制和生成对抗学习等方法,都能提高小目标检测的准确性和鲁棒性。为了改善小目标漏检现象严重的问题,我在 YOLOv8 中增加了 P2 检测头,相当于有四个检测头,使网络能检测到更小的目标。

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 2858

深入了解ChatOllama:在本地运行开源大型语言模型,大模型入门到精通,收藏这篇就足够了!

ChatOllama 提供了一个解决方案,允许用户在本地部署如 Llama 2 等开源模型,并简化了配置过程。

2401_82469710的博客 794

华为OD机试双机位C卷-热点网站统计 (Py/Java/C/C++/Js/Go)

华为OD机试双机位C卷 热点网站统计,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。 华为od机考真题 - 热点网站统计。

qq_45776114的博客 779

农作物生长模型:数学建模与实战案例

在本篇博客中,我们介绍了农作物生长模型的基本原理,并结合Matlab代码和实战案例,演示了如何应用数学建模技术进行农作物生长模型的研究与应用。农作物生长模型在农业领域具有重要意义,希望本篇博客能帮助读者更好地理解农作物生长模型的原理和应用,并在实际农业生产中取得更好的效果。

YOLO 2734

AI大模型书籍:从零开始构建大型语言模型完全指南(附免费PDF),非常详细收藏这篇就够了!

构建一个大型语言模型,了解如何创建、训练和调整大型语言模型 (LLMs)!

2401_85375151的博客 1512

基于 Simulink 的三相四线制整流器在三相不平衡负载下的中点电位平衡控制实战教程。

本文介绍了三相四线制整流器在不平衡负载下的中点电位平衡控制方法。首先分析了中点电位漂移的物理机理和控制策略(零序电压注入)。接着详细讲解了Simulink建模步骤:搭建三相四线制主电路、设计平衡控制算法、实现PWM调制。通过对比有无平衡控制的仿真结果,验证了控制方法的有效性。最后提供了工程建议:零序注入需限幅、考虑中性线寄生电感影响、采用稳健的PI参数。该方案能有效抑制中点电位波动,保障三电平系统在不平衡工况下的稳定运行。

MHD0815的博客 60

Github热门机器学习笔记:「从零构建大型语言模型」(附教程)大模型入门到精通,收藏这篇就足够了!

今天给大家推荐一份GitHub上很火的机器学习学习笔记《从零构建大型语言模型》,目前已经收获1.4K stars,这份笔记完美展示了从零构建LLM的技术路线图,既有理论深度,又包含实践要点。

huang9604的博客 872

jre9下载 jdk9

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

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

2025大语言模型(LLM)上手指南,大模型入门到精通,收藏这篇就足够了!

该指南由微软发布,主要介绍大语言模型(LLM)的基础知识、训练方法,以及GPT和Copilot的应用,展示了微软在AI领域的技术成果和应用方案。

2301_81940605的博客 701

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

什么是RAG技术,大模型入门到精通,收藏这篇就足够了!

RAG(Retrieval Augmented Generation,检索增强生成)是一种结合了信息检索和生成式模型的技术,简单来说,就是能够让大模型在计算时,结合外部知识库中的相关信息,使生成的答案更加精准

瓦罗兰特顶级C位的博客 1663

大型语言模型(LLM)赋能的知识图谱构建:综述,大模型入门到精通,收藏这篇就足够了!

本文综述了LLM赋能的知识图谱构建的最新进展,系统分析了LLM如何重塑传统的三层构建流程:本体工程、知识抽取与知识融合。

pythonhy的博客 1082

掌握AI语言新力量:大型语言模型实战指南,大模型入门到精通,收藏这篇就足够了!

今天,小编要隆重推荐一本让你真正玩转LLM的实战宝典——《Hands-On Large Language Models》!

Y525698136的博客 762

免费PDF附赠!《从零开始:构建大型语言模型完全指南》大模型学习必备书籍!

构建一个大型语言模型,了解如何创建、训练和调整大型语言模型 (LLMs)!

2401_84495872的博客 1111

2025全网爆火!《从零构建大型语言模型》LLM大模型书籍,非常详细收藏我这一篇就够了!

自 ChatGPT 发布以来,大型语言模型(LLM)已经成为推动人工智能发展的关键技术。近期,机器学习和 AI 研究员、畅销书《Python 机器学习》作者 Sebastian Raschka 又写了一本新书 ——《Build a Large Language Model (From Scratch)》,旨在讲解从头开始构建大型语言模型的整个过程,包括如何创建、训练和调整大型语言模型。对GPT大模型感兴趣的有福了!这本书的名字叫也就是。

2401_85343303的博客 1168

大模型书籍:从零开始:构建大型语言模型完全指南(附免费PDF)

构建一个大型语言模型,了解如何创建、训练和调整大型语言模型 (LLMs)!

2401_85375151的博客 2701

大型语言模型构建指南:从头开始构建大语言模型《Build a Large Language Model (From Scratch)》免费PDF

构建一个大型语言模型,了解如何创建、训练和调整大型语言模型 (LLMs)!

2401_84495872的博客 2220

LangChain入门指南:构建高可复用、可扩展的LLM应用程序,大模型入门到精通,收藏这篇就足够了!

今天又来给大家推荐一本大模型方面的书籍<Langchain入门指南>这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。

2301_81940605的博客 733

书籍推荐:《从零构建大型语言模型》附免费PDF下载

构建一个大型语言模型,了解如何创建、训练和调整大型语言模型 (LLMs)!

2401_84494441的博客 3229

大型语言模型如何影响就业?大模型入门到精通,收藏这篇就够了

大型语言模型(LLMs)是一种通过处理大量数据生成内容的人工智能程序,预计将对工作产生深远影响,但这一变化可能需要较长时间才能显现。例如,厨师、木匠和摩托车修理工可能不会受到LLMs的影响,而口译员、诗人和校对员则更有可能被LLMs取代。这项研究基于美国政府从2020年起三年内收集的1016个职业中的21000项任务的数据。研究结果发表在题为《GPTs Are GPTs:大型语言模型的劳动力市场影响潜力初探》的论文中。该论文提出,LLMs最可能影响的是律师、分析师、科学家和技术专家等知识工作者。

Python_paipai的博客 941

仅280页PDF,从零构建大模型,大模型入门到精通,收藏这篇就足够了!

《从零构建大模型》 是一本基于PyTorch框架的实战指南,摒弃了对现成库的依赖,引导读者从零开始亲手构建功能强大的大语言模型。

瓦罗兰特顶级C位的博客 928

一文彻底搞懂大模型 - RAG(检索、增强、生成),大模型入门到精通,收藏这篇就足够了!

RAG(Retrieval-Augmented Generation,检索增强生成) 是一种结合了信息检索技术与语言生成模型的人工智能技术。

瓦罗兰特顶级C位的博客 3208
上一篇: AI大模型·白皮书 | 2024年人工智能大模型技术财务应用蓝皮书(130页)大模型入门到精通,收藏这篇就足够了!
下一篇: 最新大模型畅销书推荐丨 这三本大模型畅销书太火爆了(附pdf)大模型入门到精通,收藏这篇就足够了!
Llama-Turbo
博客等级 码龄4年 9901粉丝 2022原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值