自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1588)
  • 资源 (4)
  • 收藏
  • 关注

原创 每天不知道吃什么?食谱生成AI工具,帮你实现食谱自由

每天吃什么或许是世纪难题,要想吃的美味、吃的营养更是难上加难面对繁琐的食材怎么做才能省心省力更美味呢?不妨问问AI看能不能辅助我们做出别样美味。今天和大家分享几个食谱生成AI工具,帮你实现食谱自由,轻松编辑拿手菜,我的食谱我做主。

2024-04-25 17:46:24 247

原创 大模型推理优化之 KV Cache

KV Cache,即键-值缓存,是一种用于存储键值对数据的缓存机制。在语言模型的推理过程中,经常需要多次访问相同的数据,而KV Cache通过将这些数据缓存到内存中,提供了快速的数据访问速度,从而加速推理过程。该技术仅应用于解码阶段。如 decode only 模型(如 GPT3、Llama 等)、encode-decode 模型(如 T5)的 decode 阶段,像 Bert 等非生成式模型并不适用。

2024-04-25 09:32:20 404

原创 Colab使用教程(超级详细版)及Colab Pro/Pro+评测

Pro+增加到了3个高RAM会话和3个标准会话,在Pro基础上又翻了2.5倍,相当于免费版算力的9倍,Pro+的52GB的高RAM和Pro的25GB的高RAM相比也略有提升(10分钟的epoch能快2分钟左右)。在打开笔记本后,我们默认的文件路径是"/content",这个路径也是执行笔记本时的路径,同时我们一般把用到的各种文件也保存在这个路径下。如果在有代码块执行的情况下继续点击其他代码块的“播放”按钮,则这些代码块进入“等待执行”的状态,按钮也就会进入转圈的状态,但外部的圆圈是虚线。

2024-04-22 21:51:46 900

原创 使用 LLaMA Factory 微调 Llama-3 中文对话模型

请申请一个免费 T4 GPU 来运行该脚本。

2024-04-22 21:21:46 229

原创 OpenAI发布全新微调API :ChatGPT支持更详细可视化微调啦!

每个Epoch结束时或者在特定的Epoch间隔时,系统会自动保存当前模型的状态,包括模型的参数(权重和偏置)和优化器的状态。Playground是OpenAI在2022年发布的一个可视化模型比较平台,提供了一个交互式的在线环境,允许用户输入指令或提示,然后将其发送给多个语言模型查看它们的输出结果。微调训练,使用带标注的私有数据,以较小的学习率对整个模型进行训练,直至模型在验证集上的指标达到理想效果。新增的基于 Epoch 的检查点创建功能,可以极大减少模型的重复训练,尤其是在过度拟合的情况下。

2024-04-20 23:41:57 480

原创 常用推理框架介绍

请注意,由于工具和项目的更新和变化,GitHub链接可能会发生变化或不再可用。在访问链接时,请确保检查链接的有效性,并参考最新的官方文档和社区信息。此外,一些工具可能是私有或受限制的,因此可能无法直接访问其GitHub仓库。在这种情况下,你可以通过官方渠道或相关社区来获取更多信息和支持。

2024-04-20 22:00:17 750 1

原创 LLM 推理优化探微 (3) :如何有效控制 KV 缓存的内存占用,优化推理速度?

由于模型权重和不断增长的 KV 缓存都必须在每次前向传递(forward pass)时加载,解码步骤涉及非常大的数据传输,正如我们将在接下来的文章中看到的那样,实际上是受内存带宽限制的,也就是说,我们实际上花在移动数据上的时间要多于做有用工作(即计算)的时间。只有那些对权重和“activations”(即不是权重的其他任何内容)都进行量化的算法,比如 LLM.int8() [17] 或 SmoothQuant [18],才能产生经过量化的 KV 缓存,将其转换为较低精度的表示形式。

2024-04-20 12:29:26 927

原创 图解大模型计算加速系列:vLLM源码解析2,调度器策略(Scheduler)

从vLLM批处理的入口函数开始,介绍了其推理内核LLMEngine的两个重要函数和step()在LLMEngine开始处理请求前(实例化阶段),它会先做一次模拟实验,来估计gpu上需要预留多少显存给KV Cache block。当LLMEngine开始处理请求时(add_request),它会把每个prompt当成一个请求,同时把它包装成一个SequenceGroup对象。

2024-04-20 12:05:21 631 1

原创 vLLM-prefix浅析(System Prompt,大模型推理加速)

本文浅析了在大模型推理加速方面一个非常优秀的项目 vLLM 的一个新特性 Prefix。在 Prompt 中有相同前缀时可以提高吞吐量降低延迟,换句话说可以省去这部分相同前缀在自注意力阶段的重复计算。更新 2024.1.18:Prefix 已经合并到主分支上了!如果你的 vLLM 不能使用也许是时候升级一下体验下新功能哩!

2024-04-20 11:30:26 996

原创 优化大型语言模型(LLM)的推理过程及挑战解决方案

2023年11月20日 由 daydream 发表4940通过堆叠transformer层来创建大型模型可以在各种语言任务上实现更好的准确性、小样本学习能力,甚至接近人类的新兴能力。然而,训练这些基础模型的成本很高,在推理过程中可能需要大量的存储和计算资源(持续成本)。当今最流行的大型语言模型(LLM)在规模上可以达到数千亿到数百亿个参数的大小,并且根据使用情况,可能需要处理长输入(或上下文),这也可能增加成本。本文讨论了LLM推理中最紧迫的挑战,以及一些实际解决方案。

2024-04-20 08:01:12 965

原创 LLM(十八):LLM 的推理优化技术纵览

目录收起一、子图融合(subgraph fusion)二、模型压缩(Model Compression)2.1 稀疏(Sparsity)2.2 量化(Quantization)2.3 蒸馏(Distillation)2.4 MoE三、并行化(Parallelism)3.1 数据并行 (Data Parallelism, DP)3.2 张量并行(Tensor Parallelism, TP)3.3 流水线并行(Pipeline Parallelism, PP)

2024-04-19 18:36:01 876

原创 KV Cache 技术分析

LLM(大型语言模型)中的 Attention 机制中的 KV Cache(键值缓存)主要作用是存储键值对,以避免在每次生成 token 时重新计算键值向量,从而减少计算量和提高效率。利用预先计算好的 K 值和 V 值,可以节省大量计算时间,尽管这会占用一定的存储空间。随着模型规模的增大和数据量的增加,LLM 的窗口长度也在不断增大,因此就出现一组主要矛盾,即:对不断增长的 LLM 的窗口长度的需要与有限的 GPU 显存之间的矛盾。

2024-04-19 08:07:39 977

原创 前沿论文 | LLM推理性能优化最佳实践

当batch size为1时,4xA100-40GB GPU对应的MBU为55%,而2xH100- 80GB GPU上可以实现更高的MBU,达到60%(如图2所示)。曲线上的每一条线都是通过将batch size从1增加到256得到的,有助于确定在不同的延迟限制条件下,我们可以使用的batch size。有些服务器在所有GPU之间都是高带宽连接,而有些服务器的GPU是成对的,之间的通信带宽较低。此外,在下一次token生成的迭代过程中,新的KV项会被添加到现有的缓存中,使缓存随着新token的生成而增大。

2024-04-19 07:43:52 879

原创 大模型推理百倍加速之KV cache篇

KV cache对应的优化方法,总结成下表:由上表可以看出,KV cache是个值得投入精力去研究的一个重要方向,算法上有着许多未知的方法可以去探索,工程上相对滞后,至少在主流推理框架上对部分方向的优化策略相对保守,这就给了足够多的机会。

2024-04-19 07:34:16 728

原创 Transformer推理性能优化技术很重要的一个就是K V cache,能否通俗分析,可以结合代码?

KV cache对应的优化方法,总结成下表:​由上表可以看出,KV cache是个值得投入精力去研究的一个重要方向,算法上有着许多未知的方法可以去探索,工程上相对滞后,至少在主流推理框架上对部分方向的优化策略相对保守,这就给了足够多的机会。

2024-04-19 07:25:26 685

原创 AIGC教育行业全景报告:AI助教和家教成真,学习机迎来新机遇

AI以一种新的形式——Agent,融入到教师和学生的日常中,在提供教、学帮助的基础上,改变二者的学习和工作状态。生成式AI将我们带入AI2.0时代,通过海量数据的学习,AI开始出现涌现能力,所生成的答案以一种更符合人类沟通的方式呈现,并且能够一定程度上激发人的思辨意识。而到了脑机时代,AI智能体与人类的交互将更加深入,AI智能体对人类的意图理解及状态分析都将更准确,并且能够对有学习障碍的人群进行干预,人机共融将达到新的高度。在工具使用上,AI智能体降低了教师的学习成本,为其提供几乎零门槛的使用方式。

2024-04-16 22:02:30 1120

原创 AutoGen - Build Powerful AI Agents with ChatGPT/GPT-4

【代码】AutoGen - Build Powerful AI Agents with ChatGPT/GPT-4。

2024-04-14 20:17:54 916

原创 vllm 参数介绍

一个重要参数enable-prefix-caching 特殊场景会提高很大性能。详细建视频:https://www.toutiao.com/video/7355331984845734435/?channel=&source=search_tabBelow, you can find an explanation of every engine argument for vLLM:--model Name or path of the huggingface mode

2024-04-12 19:01:53 1071

原创 Uniapp从零开始,手把手教学(附精选源码32套,涵盖商城团购等)

如果是刚入门小程序的,又或者刚听到这个名词的人,可能跟我之前一样,带着诸多的疑惑。比如:什么是uniapp?它和原生微信小程序有什么异同之处?为什么推荐uniapp开发?这里一句话两句话解释了可能还是云里雾里的。我的建议是看看下面这个视频,个人觉得讲的很清楚明白。开发微信小程序使用原生开发还是uniapp开发,详细介绍原生小程序与uni-app开发的优缺点_哔哩哔哩_bilibili页面文件遵循Vue单文件组件规范组件标签靠近小程序规范,详细见uni-app组件规范。

2024-04-12 08:00:17 1060

原创 AI Kimi:帮助教师做好试卷命题

最近,Kimichat工具很火。这款软件不仅仅是一个聊天和阅读工具,还是一个强大的教学辅助工具。作为一位教师,尝试使用Kimichat,发现它在命题方面有着出色的表现,让我深感惊喜。Kimichat为教师可以轻松指定题型、题量以及难度,无论是选择题、填空题还是简答题,都能迅速生成。这一功能极大地减轻了教师的备课压力,使他们能够更专注于教学内容的策划和教学方法的创新。它不仅能生成题目,还能自动生成对应的答案。特别是Kimichat还能完成面命题细目表的生成。

2024-04-04 23:14:46 485

原创 Whisper对于中文语音识别与转写中文文本优化的实践(Python3.10)

Whisper开源模型通过transformers的微调,可以将预训练模型应用于特定的中文NLP任务,从而提高模型在该任务上的性能。微调使模型能够学习适应特定任务的特征和模式,从而实现更好的效果。发布于 2024-01-25 14:30・IP 属地北京。

2024-04-03 17:24:06 1659 1

原创 最近,00后小伙用AI技术和奶奶实现「对话」,数字生命要成为现实了吗?

在自述中他也提到,奶奶在大年初六去世,最后的几天里奶奶意识模糊,而UP主也没有好好的和奶奶告别。而如今,随着AI技术和数字虚拟人技术的不断发展,让已故的亲人变成虚拟的数字人继续和我们交谈不再是停留在科幻小说中的情节。奶奶的头像也是一样,AI根据上传的图片与文字描述生成了一些选择,而UP主再根据脑海中的回忆挑选一张最逼真的。无论ta是谁,在我们的回忆中永远有他们的一席之地,他们一辈子都会在我们心底最柔软的角落驻留。有意思的是,奶奶的这些「回复」是UP主借助时下大热的ChatGPT生成的。

2024-04-01 11:50:27 593

原创 pytorch剪枝

在这篇文章中,我将向你介绍如何在PyTorch中实现模型剪枝。剪枝是一种优化模型的技术,可以帮助减少模型的大小和计算量,同时保持模型的准确性。我将为你提供一个详细的步骤指南,并指导你如何在每个步骤中使用适当的PyTorch代码。接下来,我们需要定义一个剪枝算法,这里我们以Global Magnitude Pruning(全局幅度剪枝)为例。# 定义剪枝比例# 对模型的全连接层进行剪枝1.2.3.4.5.6.7.8.9.10.

2024-04-01 11:19:07 665

原创 FastAPI 如何在FastAPI中返回图片

FastAPI是一个基于Python的现代、快速(高性能)、基于标准的Web框架,用于构建API。它是一个非常流行的框架,因为它具有出色的性能和易于使用的特性。FastAPI具有自动化的请求和响应验证,并能够通过使用异步请求处理和响应,从而提供高速的数据传输。现在,让我们来看一下如何在FastAPI中返回图片。在本文中,我们介绍了如何在FastAPI中返回图片。通过使用Response类和适当的MIME类型,我们可以轻松地返回包含图片的响应。快速和简便的图像传输是使用FastAPI构建API的一大优势之一。

2024-04-01 10:12:49 491

原创 不写代码也能年薪百万?Prompt+低代码开发实战

基本原则:langchain 是一个非常好用的框架,能够帮助我们快速构建基于大模型的应用程序。它提供了很多工具、组件和接口。对于前端来讲甚至可以把它类比成 lodash/jquery 一样的基础库。langchain 的模块大致如上所示,简单介绍一下就是:我们可以看下如何使用 langchain 快速搭建一个基于 GPT 的爬虫应用:结果如下:可以看到,我们结合 langchain + 简单的 prompt 就完成了一个爬虫的编写。

2024-03-31 07:22:03 1313

原创 实时的软件生成 —— Prompt 编程打通低代码的最后一公里?

实现实时软件生成的一种方式是 Prompt 编程,可以将自然语言转化为直接运行的软件,而无需生成中间的一次性过渡代码。Prompt 编程是实现实时软件生成的一种方式,可以将自然语言转化为直接运行的软件,而无需生成中间的一次性过渡代码。ChatGPT 可以为我们生成这部分的程序!值得注意的是,在简单的问题下,只要我们给定了示例,那么 AI 就会根据示例去计算输入和输出,不关注中间的处理逻辑。而在复杂的场景之下,Prompt 编写需要足够的形式化,才能让机器理解,也因此,我才把它称为 Prompt 编程。

2024-03-31 07:20:35 747

原创 您现在可以在家训练 70b 语言模型

我们认为,如果我们可以使用 QLoRA 将模型的大小减少大约 400%(因此 70b 模型将适合 35GB RAM),然后我们使用 FSDP 将其分片到两个或更多 24GB 消费卡上,那么就剩下剩余足够的 RAM 来训练模型。项目,这是他发现的最完整的 FSDP 微调实现,并密切跟踪它如何与 BitsandBytes 以及 Hugging Face 的 PEFT、Transformers 和 Accelerate 项目一起工作,他设法构建了一个最小的独立脚本,手动完成微调模型所需的所有步骤。

2024-03-30 21:03:55 1362

原创 伯克利大模型排名

网站: https://arena.lmsys.org/

2024-03-26 16:06:50 189

原创 LangGraph 入门与实战

工具的定义,可以参考这篇文章,写的比较详细了,比较方便的就是使用 tools 这个注解。雨飞:使用智普清言的Tools功能实现ToolAgentLangGraph 中最基础的类型是 StatefulGraph,这种图就会在每一个Node之间传递不同的状态信息。然后每一个节点会根据自己定义的逻辑去更新这个状态信息。具体来说,可以继承 TypeDict 这个类去定义状态,下图我们就定义了有四个变量的信息。input:这是输入字符串,代表用户的主要请求。

2024-03-25 17:00:14 736 1

原创 编程的未来 — 使用 LangGraph 的多智能体LLM框架

连接:编程的未来 — 使用 LangGraph 的多智能体LLM框架-CSDN博客

2024-03-25 10:37:36 205

原创 chatgpt How to call functions with chat models

This notebook covers how to use the Chat Completions API in combination with external functions to extend the capabilities of GPT models. is an optional parameter in the Chat Completion API which can be used to provide function specifications. The purpose

2024-03-07 17:19:55 1190

原创 OpenAI要为GPT-4解决数学问题了:奖励模型指错,解题水平达到新高度

对于正确的解决方案,两种方法提供的信息相同,因为每一步都是正确的解题方法。对于每个数据集,OpenAI 提供三种形式的监督:来自 PRM_large 的过程监督,来自 PRM_large 的结果监督以及来自最终答案检查的结果监督。为了更好的比较结果监督和过程监督,首先需要注意的是 ORM 和 PRM 的训练集不具有直接可比性,PRM 训练集是使用主动学习构建的,偏向于答案错误的解决方案,还比 ORM 训练集少一个数量级。图 2 为同一个问题的 2 种解决方案,左边的答案是正确的,右边的答案是错误的。

2024-02-28 22:55:57 995

原创 Prompt 编程的优化技巧

我们使用官方的 ChatGPT 的网页进行多次对话时,很少出现超出 GPT上下文的错误提示,是因为官方的 ChatGPT 会将相对较老的上下文清理掉,从而避免超 GPT 上下文限制的情况发生,这其实也是一种精简 GPT 上下文的思路。OpenAI 按照传入的上下文 + 最新回复的信息总和,然后折算成 Token 计费,所以上下文越多计费越贵,并且成逐步上涨的趋势(因为多轮会话中,上下文会越来越大),所以节省上下文实际上就是节省费用。”,可以缩短 GPT回复的字数,从而减少 Token 消耗。

2024-02-26 18:58:54 1565

原创 大语言模型推理加速技术:计算加速篇

其中Q,K,V是模型的三个矩阵。context phase也叫prefill phase:需要计算整个prompt的自注意力,q_input, k_input, v_input大小都为[seq_len, emb_dim],即整个prompt的embedding,context phase只需要进行一次,生成第一个token。

2024-02-26 09:25:16 1215

原创 大语言模型推理加速技术:模型压缩篇

本篇介绍左边蓝色的部分,右边绿色的部分在上篇文章在上一篇文章中我们介绍了不改变模型结构的条件下,加速模型推理的技术,即让模型“算得更快”。而这篇文章将介绍模型压缩的技术,即让模型“算得更少”。量化(Quantization):使用低精度(≤16位)存储模型权重。精简Attention:通过一些变种的Attention算法减少模型计算量。除此之外还有“投机采样”这种巧妙的采样方法也可以视为对大模型的压缩。而传统的几个压缩方法比如知识蒸馏和剪枝。

2024-02-26 09:22:21 1382

原创 微信公众号集成文心一言API

在Python环境 ≥ 3.8的情况下,你可以使用以下命令来安装这些库: pip install erniebot flask gevent 如果你在安装过程中遇到任何问题,或者需要更具体的帮助,欢迎随时向我询问。集成文心一言API:将文心一言API集成到你的微信公众号中,需要在Flask应用中实现一个或多个函数来与文心一言API进行交互。如果不匹配,将返回错误消息。总的来说,使用Python语言和Flask技术来集成微信公众号与文心一言API是一个相对复杂的过程,需要具备一定的编程和Web开发经验。

2024-02-19 08:01:48 1336

原创 读懂 FastChat 大模型部署源码所需的异步编程基础

FastChat 是 2023 年非常知名的一个大语言模型项目,该项目不仅提供了大语言模型全量参数微调、Lora参数微调、模型推断、模型量化、模型部署及调度等全套的源代码,而且还开源了他们基于 LLaMA2 底座进行指令微调的一系列 Vicuna 模型权重,因此非常适合学习和使用。就 FastChat 模型部署部分而言,它分为三个部分:controller、worker、api_server。这三个服务使用 FastAPI + Uvicorn 的方式构建,都是单线程程序,且各自都支持并发。

2024-02-07 22:11:08 1407

原创 我的PyTorch模型比内存还大,怎么训练呀?

随着深度学习的飞速发展,模型越来越臃肿,哦不,先进,运行SOTA模型的主要困难之一就是怎么把它塞到 GPU 上,毕竟,你无法训练一个设备装不下的模型。改善这个问题的技术有很多种,例如,分布式训练和混合精度训练。本文将介绍另一种技术: 梯度检查点(gradient checkpointing)。简单的说,梯度检查点的工作原理是在反向时重新计算深层神经网络的中间值(而通常情况是在前向时存储的)。这个策略是用时间(重新计算这些值两次的时间成本)来换空间(提前存储这些值的内存成本)。

2024-02-07 08:02:46 963

原创 PyTorch 2.2大更新!集成FlashAttention-2,性能提升2倍

PyTorch 2.2将FlashAttention内核更新到了v2版本,不过需要注意的是,之前的Flash Attention内核具有Windows实现,Windows用户可以强制使用sdp_kernel,仅启用Flash Attention的上下文管理器。FlashAttention-2调整了算法以减少非matmul的计算量,同时提升了Attention计算的并行性(即使是单个头,也可以跨不同的线程块,以增加占用率),在每个线程块中,优化warps之间的工作分配,以减少通过共享内存的通信。

2024-02-07 07:52:42 1988

原创 大语言模型量化方法对比:GPTQ、GGUF、AWQ

在过去的一年里,大型语言模型(llm)有了飞速的发展,在本文中,我们将探讨几种(量化)的方式,除此以外,还会介绍分片及不同的保存和压缩策略。说明:每次加载LLM示例后,建议清除缓存,以防止出现OutOfMemory错误。如果在jupyter中无法释放显存,请重启这个jupyter notebook。

2024-02-01 21:55:00 1770

2007年下半年系统分析师下午试卷Ⅱ.doc

2007年下半年系统分析师下午试卷Ⅱ.doc

2007-11-21

2007年下半年系统分析师下午试卷Ⅰ.doc

2007年下半年系统分析师下午试卷Ⅰ.doc

2007-11-21

2007年下半年系统分析师上午试卷.doc

2007年下半年系统分析师上午试卷.doc

2007-11-21

2007年下半年系统分析师考试试题分析.doc

2007年下半年系统分析师考试试题分析.doc

2007-11-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除