当前位置: 首页 > news >正文

广元市网站建设_网站建设公司_定制开发_seo优化

智能建站系统官网,wordpress百万并发,北京有名的设计公司,邢台贴吧打黑最新消息由于 ChatGPT 和 GPT4 兴起#xff0c;如何让人人都用上这种大模型#xff0c;是目前 AI 领域最活跃的事情。当下开源的 LLM#xff08;Large language model#xff09;非常多#xff0c;可谓是百模大战。面对诸多开源本地模型#xff0c;根据自己的需求#xff0c;选择…由于 ChatGPT 和 GPT4 兴起如何让人人都用上这种大模型是目前 AI 领域最活跃的事情。当下开源的 LLMLarge language model非常多可谓是百模大战。面对诸多开源本地模型根据自己的需求选择适合自己的基座模型和参数量很重要。选择完后需要对训练数据进行预处理往往这一步就难住很多同学无从下手更别说 training。 然后再对模型进行 finetuning 来更好满足自己的下游任务。那么对于如果要训练一个专家模型。预训练也是必不可缺的工作。不管是预训练还是 finetuning微调无论选用何种方案都避免不了训练中产生的灾难性遗忘问题那么怎么减少和避免这种情况的发生也是本文想讲的一个重点。对于推理在 GPU 资源不富裕的情况如何最小化的利用内存提升推理效率也是可以讨论的内容。 模型选择 先看一下最好的模型有哪些以下数据是最新 LLM 排行来自 UC 伯克利 [1] 当然这里前 3 名都闭源模型后面开源模型大多数也都是英文的模型。如果 GPU 资源充足至少 A100*8这里也可以基于开源模型做中文的预训练最后再 finetuning 。但我们没有 GPU 资源 我们可以选择开源的中文模型直接做微调。 具体有哪些中文模型可以选择可以参考这两个地址 中文语言理解测评基准CLUE[2] 和 SuperCLUE 琅琊榜 [3]。开源领域 ChatGLMLLAMARWKV 主要就是这 3 种模型 中文好一点就是 ChatGLM潜力最好的就是 LLAMARNN 架构决定 RWKV 有很好的推理效率随输入长度内存占比线性自增而 LLAMA 则是指数增加 和 Length Extrapolation 关于长度外推性可以参考苏神的文章 [4]。 当然 MPT-7B-StoryWriter-65k [5] 模型也有较长的外推能力主要在于注意力这块使用了 ALIBI [6]。要拥有什么样的长度取决你的需求。对于对话模型往往不需要那么长的外推能力。但对于想做知识库领域相关的应用 需要模型能够看更多的内容是有这个需求的。 这里不做推荐一切来自你的具体需求和 GPU 资源不知道怎么样选择可以将您的需求和资源情况留言我给你做一个选择。 模型大小选择 当然对于模型参数的选择往往是参数越大效果越好。如果资源充足当然是推荐 30B 以上的模型。不管是 6B, 7B 和 13B 同样的训练数据同样训练参数模型参数量大效果则优于低参数的模型。那么根据模型参数如何预估我们的训练所需的内存开销这里有一个简单的方法 比如 6B 模型60 亿规模参数根据以下公式计算 模型参数 梯度参数 优化器参数 6B * 1bytes 6GB 2*6GB 24GB 以上是全量预训练当然如果采用 lora 这种方法则会有更低内存占用。当然我们还可以对模型进行量化来提高内存效率。 注意参数多量化低的模型要优于参数低量化高的模型举例 33B-fb4 模型要优于 13b-fb16 模型. 数据处理 对于 LLM 训练数据质量很重要。预训练时我们可以将数据先进行预处理比如对数据进行一定规则的筛选数据去重去除一些低质量的数据。同时我们可能面临各种类型的数据PDFWordHTML代码文件等等对于这种不同类型的数据我们需要都处理成文本同时还过滤掉一些干扰项或乱码的数据。 当然我们也可以利用一些工具去处理比如 justext [7]trafilatura [8]来提取文档主要内容减少数据的噪音。对于空的文档或文档长度低于 100 进行过滤进一步减少噪音。 对于一些机器生成的文本或 OCR 识别错误的文本质量不高由没有什么逻辑性虽然比较难以检测但是还是会有一些工具能做这样的事情比如 ctrl-detector [9]。当然对于一些有毒的或带有偏见的数据可以采用 PerspectiveAPI [10] 或垃圾邮件检测的办法来过滤。 我们还不得不考虑数据的一些隐私风险也需要考虑比如身份证号银行卡等信息比如 presidio 和 pii-codex 等工具提供了检测、分析和处理文本数据中的个人身份信息的能力。 指令微调数据我们可以使用 PromptSource [11] 来创建微调数据。当然我们还可以让 GPT4 给我们标注一些数据这样蒸馏知识可以让数据质量进一步提升。这里我分享一个我使用的 Prompt 工程 first_prompt 作为一位专业的xxxx您的任务是从给定的上下文回答问题。 给定的上下文last_prompt 请综合上述信息你给出的回复需要包含以下三个字段 1.questions: 基于上下文内容提出与这个内容相关的问题至少两个以上。 2.answers: 然后根据问题分别给出每个问题的答案请用 markdown 格式。 3.instruction: 给出上下文内容的总结尽量精简用 markdown 格式。 请按照以下JSON格式来回答 前括号questions: [内容相关问题1,内容相关问题2],answers: [内容相关问题1的答案,内容相关问题2的答案],instruction: 总结性的内容 后括号 注意如果碰到上下文内容信息不够无法回答问题的情况answers和questions可以返回空。 最后强调一下你的回复将直接用于javascript的JSON.parse解析所以注意一定要以标准的JSON格式做回答不要包含任何其他非JSON内容否则你将被扣分微调方案 目前对于 LLM 微调方案有很多我将常用的一些方案和相关资料做一个列举。 Prefix-TuningP-Tuning v2[12] Prompt Tuning [13] Lora / QLora [14] 根据实际经验这里推荐采用 Lora 或 QLora。简单介绍一下 QLoRA重点改进是将模型采用 4bit 量化后加载训练时把数值反量化到 bf16 后进行训练利用 LoRA 可以锁定原模型参数不参与训练只训练少量 LoRA 参数的特性使得训练所需的显存大大减少。例如 33B 的 LLaMA 模型经过这种方式可以在 24GB 的显卡上训练也就是说消费级单卡都可以实现大大降低了微调的门槛。 英文模型需要做词表扩充吗 对于像 LLaMA 模型的词表大小是 32K其主要针对英语进行训练具体详见 LLaMA 论文 [15]对多语种支持不是特别理想可以对比一下多语言经典模型 XLM-R 的词表大小为 250K。 通过初步统计发现LLaMA 词表中仅包含很少的中文字符所以在切词时会把中文切地更碎需要多个 byte token 才能拼成一个完整的汉字进而导致信息密度降低。比如在扩展词表后的模型中单个汉字倾向于被切成 1 个 token而在 LLaMA 中可能就需要 2-3 个才能组合成一个汉字显著降低模型的推理效率。 如何避免灾难遗忘 通常我们有以下方式可以减少或避免灾难性遗忘问题 将重要的权重冻结 - 像 Lora 就是采用的这种方案只学习部分网络权重。但这里 Lora 的配置其实是要注意一下如果你是用 Lora 做预训练lora 训练模块可以配上 q_proj,v_proj,k_proj,o_proj 如果是微调则只需要训练 q_proj,v_proj lora_rank 的设置也有讲究初始设 lora_ran 为 8训练存在遗忘时可以将 lora_rank 改为 64原因是与原模型数据领域相差较大的话需要更大的秩原论文有说明。 复习 - 跟人一样在预训练或微调时回看之前训练的数据。还可以专门把特征图存起来量化以后放在一个类似于记忆库的地方之后在新任务上训练的时候从这个记忆库里重构出记忆和新数据一起训练。感兴趣可以看这篇论文 [16]。 MoE - 稀疏门控制的专家混合层最近爆出 GPT4 是由 8 个 220B 的模型组合。关于 Moe 相关资料 [17] 大家自行了解。 推理加速 对于推理一般我们采用量化方案这里有两个办法。第一个则是采用 ggml 工具比如 llama.cpp [18] 针对 llama 模型将模型量化运行在 cpu 或 gpu 上也可以 cpu 和 gpu 一起跑内存则大大减少推理速度有极大的提高。 ▲ image.png 这里如果将 llama.cpp 运行在 gpu 上 编译时一定要加 LLAMA_CUBLAS1同时推理的时候指定 --gpu-layers|-ngl 来分配运行在 gpu 上的层数当然越大占用 gpu 的内存会越多。 如果是 RWKV 模型则考虑采用 rwkv.cpp [19]此方法与 llama.cpp 类似使用方式也是类似的。 还有 Llama 模型还可以考虑使用 exllama [20] 纯 GPU 的加速虽然还不够完善但也可以值得一试。 另一个采用 LLM Accelerator [21]LLM 存在大量的相似性推理基于此可以做一些优化加速推理具体请看论文。最后采用架构上的调整faster transformer [22] 要优于传统的 transformer 架构。 总结 最后总结几条原则 参数多量化低的模型要优于参数低量化高的模型 模型质量与训练数据质量是存在相关性的 扩充中文词表有助于提高推理效率 微调推荐采用 Lora QLora 方案 模型加速必然需要对模型进行量化 技术交流群 建了技术答疑、交流群想要进交流群的同学可以直接加微信号mlc2060。加的时候备注一下研究方向 学校/公司CSDN即可。然后就可以拉你进群了。 前沿技术资讯、算法交流、求职内推、算法竞赛、面试交流(校招、社招、实习)等、与 10000来自港科大、北大、清华、中科院、CMU、腾讯、百度等名校名企开发者互动交流~ 方式①、添加微信号mlc2060备注技术交流 方式②、微信搜索公众号机器学习社区后台回复技术交流
http://www.ihoyoo.com/news/89065.html

相关文章:

  • 广东省建设工程监督站官方网站wordpress4.7安装
  • 基于微信公众平台的微网站开发北京招聘网站建设
  • 如何做阿语垂直网站重庆江北营销型网站建设公司推荐
  • 网站子页面设计模块建站工具
  • 江西app网站建设wordpress主题恢复
  • 网站常见问题是什么网站更新了
  • 怎么查询网站备案接入商wordpress 轮播图 修改
  • 网页设计素材加工岳阳优化营商环境
  • 绵阳学校网站建设表白网址一键生成
  • 内网穿透做网站短视频营销推广
  • 烟台网站制作软件十堰建设网站首页
  • 做公众号首图网站合肥市建设网官方网站
  • 免费的黄冈网站有哪些平台?中国企业网是干什么的
  • 网页制作与网站建设实战大全 豆瓣电子邮箱免费注册
  • 公司做网站自己可以做wordpress主题 简约
  • 微信公众号开发微网站开发东莞市场监督管理局官网
  • 程序员不是做网站的如何做网站水晶头
  • 如何 html5 网站模板美食网站页面设计
  • 个人营销型网站新房装修
  • 大同市网站建设百度seo整站优化
  • seo网站推广与优化方案手机购物平台
  • 江门医疗网站建设文登住房和城乡建设局网站
  • 做网站和推广工资多少钱永嘉营销网站建设
  • php网站开发路线网站项目运营
  • 怎么做网站超链接成都外贸建站
  • 做行业门户网站注意什么网站打开文件按钮怎么做
  • 公司网站高端网站建设分享惠网站怎么做
  • 郑州住房和城乡建设局网站网站站点建设的端口
  • 贵阳平台网站建设建设网上银行登录入口
  • 石家庄云图网站建设网站被百度k掉怎么办