Python 预训练:打通视觉与大语言模型应用壁垒——Python预训练视觉和大语言模型

devtools/2025/1/22 10:47:23/

大语言模型是一种由包含数百亿甚至更多参数的深度神经网络构建的语言模型,通常使用自监督学习方法通过大量无标签文本进行训练,是深度学习之后的又一大人工智能技术革命。

大语言模型的发展主要经历了基础模型阶段(2018 年到2021年)、能力探索阶段(2019年到2022年)和突破发展阶段(以2022年11 月OpenAI 发布ChatGPT 为起点)。其中,在基础发展阶段主要发布了一系列大语言模型(BERT、GPT、PaLM 等),这个时期的特点是模型参数在几十亿到几百亿左右,主要通过微调方式满足业务场景。

在能力探索阶段,大语言模型很难针对特定任务进行微调,出现了指令微调,将各种类型任务统一为生成式自然语言理解框架,使用构造的语料库对模型进行微调。在突破发展阶段,出现具备问题回答、文稿撰写、代码生成等能力的基础模型。这个阶段的另一个主题特色是具备了多模型理解能力,参数达到千万亿。值得一提的是,大语言模型快速发展促生了

新的微调范式,如预训练微调、提示学习方法、模型即服务范式、指令微调等。

到目前为止,全世界已经有数千个大语言模型,在各个行业纵深应用;需要训练的参数已高达数千亿,在云计算或者超级计算中心训练一次通常需要数千颗 GPU/TPU 耗费几个月甚至更长的时间,电费动辄高达几百万美金。高昂的时间、费用让中小企业望而却步,也使大语言模型成为大互联网公司和有实力的政府科研机构的专属地。

然而,随着预训练、微调范式的出现,此局面已经大为改观,中小企业乃至个人都可以在公开的大语言模型基础上进行预训练,形成自己的定制款大语言模型。曾经遥不可及的“奢侈品”已经走入了寻常百姓家,大语言模型一度成为全世界讨论的热门话题,它的出现改变了很多人和事,从某种意义上加速了大语言模型的发展。

要“炼”成大语言模型主要有3个条件。第一是制作标准的数据集,这是最费时间和精力的事情,可能需要数千个标注人员花费几个月甚至更长时间,此外,还需要形成一套标准的数据处理流程或者管道。第二,需要性能、训练准确且鲁棒的大语言模型框架;大语言模型不是某种技术,而是一系列前沿技术的集成,可能涉及深度学习、概率机器学习、强化学习、集成学习和知识图谱等技术。第三,需要强大的硬件资源支撑,有了标准数据集或知识库,也要有强大框架技术,在资源加持下,通过持续数月的调参、优化,才能训练出一个大语言模型。将训练好的模型部署好,向第三方提供API接口,才最终实现了大语言模型的场景应用。

大语言模型训练范式是怎么回事?为什么会出现这些范式?由于大语言模型参数量庞大,针对不同任务都进行微调需要消耗大量的计算资源,因此大语言模型从预训练微调时代,进入提示范式、模型即服务范式、指令微调范式时代。此外并不是每个团队都有资源、技术和时间训练大语言模型。在预训练大语言模型基础上,通过收集自己领域的数据集,借助已经训练好的大语言模型,学习自己领域的知识,形成特定场景的大语言模型。换句话说,大语言模型通过训练数千亿的参数和海量数据集来学习通用知识,预训练则是通过采集专业领域知识,在通用知识的基础上学习专业知识。这样预训练的模型就能更加适应特定场景和问题。

除此之外,通过采集不同的数据格式和使用场景,在大语言模型基础上衍生出多模态、多智能体等技术和场景,可以用文字生成图、音频、视频,图、音频、视频,也可以反过来生成文字。同时可对海量数据和信息实现知识推理,从而解决各种复杂问题。

本书是一本“奢侈品”普及使用指南,主要讨论大语言模型基础,准备数据集,训练与评估大语言模型,部署大语言模型,以及形成MLOps;也是一本大语言模型实践著作,面向计算机科学与工程、软件工程、人工智能专业的高年级本科生,也面向就职于企业且对大语言模型感兴趣的工程师和科学家。


http://www.ppmy.cn/devtools/152571.html

相关文章

effective-Objective-C 第二章阅读笔记

对象,消息,运行期 文章目录 对象,消息,运行期前言理解“属性”这一概念属性修饰符原子性nonatimicatomic 读/写权限内存管理语义方法名 自定义初始化方法小结 在对象内部尽量直接访问实例变量小结 对象等同性特定类的isEqual执行深…

【NLP基础】Word2Vec 中 CBOW 指什么?

【NLP基础】Word2Vec 中 CBOW 指什么? 重要性:★★ CBOW 模型是根据上下文预测目标词的神经网络(“目标词”是指中间的单词,它周围的单词是“上下文”)。通过训练这个 CBOW 模型,使其能尽可能地进行正确的…

vscode导入模块不显示类型注解

目录结构: utils.py: import random def select_Jrandom(i:int, m:int) -> int:"""随机选择一个不等于 i 的整数"""j iwhile j i:j int(random.uniform(0, m))return jdef clip_alpha(alpha_j:float, H:float, L:f…

Ubuntu 24.04 LTS 通过 docker 安装 nextcloud 搭建个人网盘

准备 Ubuntu 24.04 LTSUbuntu 空闲硬盘挂载Ubuntu 安装 Docker DesktopUbuntu 24.04 LTS 安装 tailscale [我的Ubuntu服务器折腾集](https://blog.csdn.net/jh1513/article/details/145222679。 安装 nextcloud 参考 Ubuntu24.04系统Docker安装NextcloudOnlyoffice _。 更…

docker运行长期处于activating (start)

当systemctl start docker启动docker卡住长时间无响应,使用systemctl status docker查看docker运行状态发现activating (start) since 二 1998-01-06 00:43:48 CST; 38min ago,这个状态表示启动中,还未启动完成active (running),可以尝试以下操作&#x…

Learning Prompt

说明:这是我的学习笔记,很多内容转自网络,请查阅文章末尾的参考资料。 目录 基本要求(C.R.E.A.T.E)总结文章(Summarise)改写文章(Rewrite)根据参考资料回答问题(Question & Answer)参考资料 基本要求(C.R.E.A.T.E) Character This is th…

ubuntu22.04编译多个版本OpenCV

按照本文方法可以实现ubuntu22.04上面同时存在OpenCV4.5.5和OpenCV4.9.0。方法其实是按照正常的流程就可以,参照这个:ubuntu18.04openc4.5.5contrib 4.5.5编译_ubuntu18 anzhuang opencv4.5.5-CSDN博客 需要修改的地方是在第6步“保存path,方…

Java实战:Spring Boot application.yml配置文件详解

本文将详细介绍Spring Boot application.yml 配置文件的使用和配置项。我们将探讨 application.yml 文件的基本概念,以及如何使用它来配置Spring Boot应用程序的各个方面。此外,我们将通过具体的示例来展示如何配置不同的Spring Boot组件,如数…