- 博客(64)
- 收藏
- 关注
原创 gradio如何实现修改代码后自动重载运行
每次你重新运行单元格时,Gradio 都会在相同端口和底层web服务器上重新渲染你的应用。文件所在的目录,如果文件发生更改,它将自动重新运行文件。本指南将涵盖这两种方法,因此无论你如何编写Python代码,学习完本指南后,你都能更快地构建Gradio应用。当你使用 Blocks 构建 Gradio 演示时,你可能会发现每次测试更改时都要重新运行代码非常麻烦。问题是,每次你想更改布局、事件或组件时,都需要关闭并重新运行应用,即使用。因此,在完成开发并想在生产环境中运行时,你无需更改脚本,只需使用。
2024-08-23 09:08:49
564
原创 使用Qwen-Agent将上下文记忆扩展到百万量级 Qwen
我们在本文中介绍了利用智能体扩展模型上下文记忆的关键思路。一旦智能体准备就绪,如何合成数据便显而易见。例如,我们可以招募志愿者与智能体互动,并记录结果来构建微调数据集。此外,我们还可以利用智能体对其他方法生成的数据进行交叉验证,以确保数据质量。此外,用智能体的结果去微调模型,这个思路也适用于其他领域,比如提升模型解决大规模任务的能力。
2024-08-19 14:25:51
911
原创 LMDeploy 部署 VLMs 的方法与探讨
默认情况下,LMDeploy 会根据算法 repo 提供的对话模版将表示图片的特殊 token 插入到 user prompt 中,但在一些模型中,图片 token 的位置并没有限制,如 deepseek-vl,或者用户需要自定义图片 token 插入的位置。因为复用VLMs上游库关于图像的预处理和视觉模型的推理,且不同的VLM依赖各不相同,出于维护性方面的考虑,LMDeploy 没有把 VLMs 的依赖,比如 timm,flash-attn,放在自己的依赖列表里。(后续考虑移除,相信用户)
2024-08-16 17:52:03
703
原创 LLM - 长文本总结处理方案_当文档的长度过长时,llm怎样处理
URL:三国演义读后感- 初始化自己的 LLM可以选择开源的 LLM,使用 HuggingFace 的 Auto API 直接加载。- 选择自己的长文进行切分虽然 OpenAI 不能用,但是 TextSplitter 可以用。基于不同的处理方式总结根据上面 Stuff、MR、Refine 和 Map Rerank 的逻辑图实现自己的总结逻辑查看总结效果。不过由于我们本地机器的限制,Mapper 能否并行就看我们能起几个服务了。长文总结是很典型常见的问题,大家有更多想法和意见也欢迎在评论区交流讨论~
2024-08-15 16:52:02
1260
原创 图解大模型计算加速系列:vLLM源码解析1,整体架构
图中左侧是用户使用界面,罗列了上述所说的两种调用方式(注意,如前文所说,做demo用的api server官方已经不再维护了,openai_api_server才是官方推荐的使用方式,user custom server目前还没有实现)。右侧则是开发者界面,不难发现LLMEngine是vLLM的核心逻辑。我们来看开发者界面下的几个函数,先来看**LLMEngine。
2024-08-14 16:08:12
439
原创 大模型来自面试的体会和分享 2024版
然后做的比较好的有,各种非助手的形态,互联网C端的比如评论区机器人,视频总结摘要,文章总结,搜索总结,从用户量维度看,算是相对成功,也能在很多APP上看到全量开放。基座赛道的分工更细,有强烈的工业化大兵团作战的特点,招聘的画像也非常细分,代码,推理,数学等,恨不得一个能力标签一个负责人,再搭建各自的数据,训练,对齐团队。当然,基座赛道也不都是高枕无忧,常见的问题就是过于螺丝钉了,甚至有些厂,让每个人都负责一小块工作,信息单向流动,有完整认知和可泛化经验的不多,国内的差距逐渐缩小,与国外的差距依然存在。
2024-08-14 16:03:46
340
原创 目前针对大模型进行量化的方法概览
模型量化是指以较低的推理精度损失将连续取值(通常为float32或者大量可能的离散值)的浮点型权重近似为有限多个离散值(通常为int8)的过程。通过以更少的位数表示浮点数据,模型量化可以减少模型尺寸,进而减少在推理时的内存消耗,并且在一些低精度运算较快的处理器上可以增加推理速度。具体如下图所示,[-T, T]是量化前的数据范围,[-127, 127]是量化后的数据范围。
2024-08-12 14:17:52
1211
原创 triton inference server入门1
肯定很多人想知道triton干啥的,学习这个有啥用?triton可以充当服务框架去部署你的深度学习模型,其他用户可以通过http或者grpc去请求,相当于你用flask搭了个服务供别人请求,当然相比flask的性能高很多了triton也可以摘出C-API充当多线程推理服务框架,去除http和grpc部分,适合本地部署多模型,比如你有很多模型要部署,然后分时段调用,或者有pipeline,有了triton就省去你处理显存、内存和线程的麻烦注意,还有一个同名的triton。
2024-08-12 11:50:55
300
原创 突破大模型极限!GLM-4-long百万长文本模型上线bigmodel.cn
最近业务上多了长文本的需求,因为要在prompt里面塞进比较多的rag内容,以供决策,且这些召回的内容,都有可能用到。智谱果然是国产大模型开源事业的排头兵,如果把国产化大模型看成一个整体的话,开源确实会继续整个群体的智力水平和互相交流不断进步,把整个行业的蛋糕越做越大,最终使整个群体收益。“第一个,就是你之前bert时候打比赛中常用的,batch sort方法,让一个batch中的样本尽量对齐,这样需要packing的空间就很少了,提高资源利用率。对了,我刚刚给你说的那些,之前开源的技术报告里都有。
2024-08-11 22:13:16
405
原创 大模型微调到底有没有技术含量
老生常谈的一句话吧:有没有技术含量取决于这个工作你怎么做,尤其是 llm 方向,上手门槛相比传统 NLP 变得更低了。我举一些例子吧,针对大模型微调的几个重要环节,我列举的每一种做法大概率都能完成最终目标,甚至说训出来的模型效果都没什么差别。但对个人能力成长的帮助就大不相同了。
2024-08-11 22:10:08
805
原创 Triton+TensorRT部署Bert文本向量化服务实践
本篇介绍以Triton作为推理服务器,TensorRT作为推理后端,部署句嵌入向量模型m3e-base的工程方案和实现,句嵌入模型本质上是Bert结构,本案例可以推广到更一般的深度学习模型部署场景。推理服务器和推理后端介绍TensorRT+Triton环境搭建Bert模型转化为ONNX中间表示ONNX中间表示编译为TensorRT模型文件Triton服务端参数配置Triton服务端代码实现Triton服务端启动HTTP客户端请求TensorRT前后压测结果对比。
2024-08-10 14:28:24
428
原创 LLM评估有哪些指标? ROUGE 分数、BLEU、困惑度、MRR、BERTScore
此外,它不是一个单一的分数,而是计算召回率、准确率和 F1,这被称为 ROUGE-Recall、ROUGE-Precision 和 ROUGE-F1。(Bilingual Evaluation Understudy,双语评估替补),它评估输出与 Ground Truth 的相似程度(因此与 Perplexity 不同,需要 Ground Truth),主要用于机器翻译问题。***基本 LCS 的问题:***基本 LCS 测量在两个文本中以相同顺序出现的最长单词序列的长度,但不区分连续匹配和分散匹配。
2024-08-10 13:29:06
883
原创 大语言模型的模型量化(INT8/INT4)技术
由于量化前的激活值变化范围较大,即使对于同一 token,不同channel数值差异较大,对每个 token 的量化也会造成精度损失,但是不难看出较大值一般出现在同一 channel,因此作者也分析了采用 per-channel 的量化方式,这种量化方式能很好的避免精度损失,但是硬件不能高效执行,增加了计算时间,因此大多数量化仍采用 per-token 及 per-tensor 的量化方式。最后,我们再计算与 A 和 B 的最大绝对值向量的外积,并将此与 C 求哈达玛积来反量化回 FP16。
2024-08-09 09:14:15
1685
原创 大模型涉及到的精度是啥?FP32、TF32、FP16、BF16、FP8、FP4、NF4、INT8区别
浮点数精度:双精度(FP64)、单精度(FP32、TF32)、半精度(FP16、BF16)、8位精度(FP8)、4位精度(FP4、NF4)量化精度:INT8、INT4 (也有INT3/INT5/INT6的)另外,实际使用场景中,还有多精度和混合精度的概念假设你每秒钟赚到的钱是1块钱,那一个月的收入是160602430=216000,如果每秒钟赚到1块1呢,那一个月的收入是237600,就一个1毛钱的小数点,让你月收入少了1万多,这就是精度不同导致的差异。
2024-08-09 09:13:18
1160
原创 程序员窃喜!卡了大模型脖子的Json输出,OpenAI终于做到了100%正确
默认情况下,大模型在进行token输出时,可以在词汇表中选择任意一个词汇,作为下一个输出token。而在使用动态的约束解码技术后,大模型在下一个token输出时,便增加了一些约束,将模型限制在有效的token内,而不是所有token。很多人说,为什么非要纠结 JSON 格式的输出,我用的挺好的,啥 JSON 格式都没见过,这种要么就是用的不多,要么就不是做开发的!但很明显,93%的准确率也就意味着7%的不可靠,对于开发人员来说,不是100%的准确就是不够用的,所以OpenAI又用了第二个方法。
2024-08-08 10:12:29
670
原创 大模型无限上下文的奥秘已被揭开
无限(Infini)上下文其实有些标题党博眼球的成分,首先,这里更新记忆的方式并不是无损保留记忆,对于历史信息是有舍弃有保留的。这对于超长文本的推理,仍然可能造成一些遗忘前文关键信息的问题。其次,结构中左边的记忆部分,所占空间也不小。有人戏称,这是在用一个大模型和一个知识库,在做实时RAG。不过这个工作的亮点确实很多,因为这个记忆模块是可插拔模块,可以嵌入到任何大模型中。而且确实在计算量上,实现了线性拓展。
2024-08-07 17:00:19
983
原创 多图、视频首上端!面壁「小钢炮」 MiniCPM-V 2.6 模型重磅上新!魔搭推理、微调、部署实战教程modelscope
再次刷新端侧多模态天花板,面壁「小钢炮」 MiniCPM-V 2.6 模型重磅上新!该模型基于 SigLip-400M 和 Qwen2-7B 构建,仅 8B 参数,取得 20B 以下单图、多图、视频理解 3 SOTA 成绩,一举将端侧AI多模态能力拉升至全面对标 GPT-4V 水平。更有多项功能首次上「端」:小钢炮一口气将实时视频理解、多图联合理解、多图 ICL 等能力首次搬上端侧多模态模型,更接近充斥着复杂、模糊、连续实时视觉信息的多模态真实世界,更能充分发挥端侧 AI 传感器富集、贴近用户的优势。
2024-08-07 16:58:34
966
原创 消费级显卡,17G显存,玩转图像生成模型FLUX.1!ModelScope
从模型架构上看,FLUX.1和SD3有很多相似之处,都是基于FlowingMatching调度的模型,都通过引入T5来增强prompt的依从性。而比较显著的区别在于:flux模型引入了一种叫DoubleStreamBlock的结构,具体来说在前几层layer中,采用了txt和img embedding独立过各自的transformer块,然后再拼到一起过统一的transformer块,我们推测是为了进一步对齐图像和文本特征,但是这部分还没有更具体的技术报告。风格上,个人认为风格属性一般。
2024-08-06 15:26:21
975
原创 为什么KV Cache只有KV,没有Q
大家都知道大模型是通过语言序列预测下一个词的概率。假定x1x2x3...xn−1为已知序列,其中x1x2x3, …,xn−1均为维度是dmodel的向量,qnknvn同为向量。当输入xn时,需要预测xn1的概率分布。
2024-08-06 15:21:41
721
原创 LLama 405B 技术报告解读
LLama 405B 技术报告解读果然传的消息都是真的,meta在24号凌晨发布了llama 3的405B版本,这次还是做一个技术报告解读。值得一提的是,在技术报告的开头,meta特意强调了一个 Managing complexity,大意是管控复杂度。为什么没用MoE却弄个405B的dense?为什么没用PPO只用DPO?meta给的解释是:Managing complexity,大意就是这样简单吧…评测结果如下,这个结果跟当初网上传的那个版本还是有一定出入的,没有到摁着GPT4o锤的程度。况
2024-07-25 09:07:29
1359
原创 大模型中的temperature、topk、topn、repetition_penalty等参数原理
核心就在于采样策略,一图胜千言:上图中(language model) 的预测输出其实是字典中所有词的概率分布,而通常会选择生成其中概率最大的那个词。不过图中出现了一个采样策略 (sampling strategy),这意味着有时候我们可能并不想总是生成概率最大的那个词。设想一个人的行为如果总是严格遵守规律缺乏变化,容易让人觉得乏味;同样一个语言模型若总是按概率最大的生成词,那么就容易变成 XX讲话稿了。
2024-07-23 14:36:50
725
原创 详解 BGE-M3 与 Splade 模型
详解 BGE-M3 与 Splade 模型本文将探索两种先进的 Embedding 模型——BGE-M3 和 Splade,深入解析它们的设计理念和工作原理。01.快速回顾Embedding向量的概念Embedding 向量或者向量表示,是指在高维向量空间中以数值描述表示对象、概念或实体(Entity)。每个 Entity 由一个向量表示,此向量通常长度固定,每个维度反映了Entity 的一个特定属性或特征。Embedding 向量类型主要分为三种:传统的稀疏向量、稠密向量以及“学习到的”(lear
2024-07-16 17:57:42
766
原创 3万字讲解大模型高效推理清华综述
提示词总结的核心思想是在保持相似的语义信息的前提下,将原有提示词浓缩为更短的总结。这些技术还可以作为提示词的在线压缩方法。与前面提到的保留未裁剪标记的提示词裁剪技术不同,这一行方法将整个提示符转换为总结。RECOMP[34]引入了一个抽象压缩器(AbstractiveCompressor),其将输入问题和检索到的文档作为输入,生成一个简洁的摘要。具体来说,它从大规模的大模型中提取轻量级压缩器来进行总结工作。SemanticCompression提出了一种语义压缩方法。它首先将文本分解成句子。
2024-07-16 13:56:19
1237
原创 LLM Continue Pretrain
在小规模的实验(模型参数量小,训练数据少)下continue pretrain,得到一些实验数据点,用实验数据点拟合上述公式,得到拟合参数值,就可以算更大参数量下的domain loss和通用loss。语言类的domain和long context的数据更难学习,前者是因为语言的gap导致初始loss偏高,但随着不断的训练,loss会稳定下降,但遗忘程度高,最优配比高,后者对资源的消耗更高,遗忘程度高,最优配比高。但随着模型参数量的增大,洗这么干净的数据合理么?模型是不是到了后面,自己就能做一些区分了?
2024-07-12 14:09:13
981
原创 BM42:混合搜索的新基准 - Qdrant
在过去的 40 年里,BM25 一直是搜索引擎的标准。它是一种简单但功能强大的算法,已被许多搜索引擎使用,包括 Google、Bing 和 Yahoo。虽然看起来向量搜索的出现会削弱其影响力,但效果并不明显。目前最先进的检索方法试图将 BM25 与嵌入结合到混合搜索系统中。然而,自从引入 RAG 以来,文本检索的使用情况发生了显著变化。BM25 所基于的许多假设不再有效。例如,传统网络搜索和现代 RAG 系统之间文档和查询的典型长度存在很大差异。
2024-07-12 14:07:00
1140
原创 FlashAttention/ PagedAttention原理,大模型加速
1.1 GPU 硬件特点由于 FlashAttention 计算 self-attention 的主要关键是有效的硬件使用,所以了解GPU内存和各种操作的性能特征是很有必要的。以 A100 (40GB HBM) 为例,下面显示其内存层次结构的粗略图。SRAM内存分布在108个流式多处理器(SMs)上,每个处理器192KB。片上SRAM比HBM快得多,但比HBM小得多,在计算方面,使用Tensor Core的BFLOAT16 的理论峰值吞吐量为 312 TFLOPS。GPU 的典型操作方式是使用大量的线程
2024-07-10 19:17:03
1932
原创 源码解读 - 微软GraphRAG框架
这几天微软开源了一个新的基于知识图谱构建的检索增强生成(RAG)系统, GraphRAG, 该框架旨在利用大型语言模型(LLMs)从非结构化文本中提取结构化数据, 构建具有标签的知识图谱,以支持数据集问题生成、摘要问答等多种应用场景。 GraphRAG 的一大特色是利用图机器学习算法针对数据集进行语义聚合和层次化分析,因而可以回答一些相对高层级的抽象或总结性问题, 这一点恰好是常规 RAG 系统的短板。 说实话之前一直有在关注这个框架, 所以这两天花了点时间研究了一下源码, 结合之前的一些技术文档,本文主要
2024-07-09 14:21:34
1762
原创 dockerfile中EXPOSE 的意义和在run时-p端口映射的区别
【代码】dockerfile中EXPOSE 的意义和在run时-p端口映射的区别。
2024-07-09 14:09:02
215
原创 为什么gpt模型输入的token最大数量被限制在几万,是有技术问题吗?
如果保持原样,那么复杂度是二次的,序列一长,训练成本和推理成本都比较难顶。如果你想处理1000长度的文本,那么预训练阶段就拿1000长度的文本去训,那自然没有问题,但如果你只拿500长度的文本去预训练,那么得到的模型通常无法很好地处理1000长度的文本,尤其是。训练的模型,通常无法直接处理长文本,这就是长度外推问题,这个问题不只是Transformer有,RNN甚至。注意这里的长短是相对的,如果你想处理10000长度的文本,那么5000长度都算短文本了。既是技术问题,也是算力问题。也就是说,人家19年的。
2024-07-08 23:03:44
602
原创 下一代 RAG 技术来了!微软正式开源 GraphRAG
7 月 2 日,微软开源了 GraphRAG,一种基于图的检索增强生成 (RAG) 方法,可以对私有或以前未见过的数据集进行问答。在 GitHub 上推出后,该项目快速获得了 2700 颗 star!开源地址:https://github.com/microsoft/graphrag通过 LLM 构建知识图谱结合图机器学习,GraphRAG 极大增强 LLM 在处理私有数据时的性能,同时具备连点成线的跨大型数据集的复杂语义问题推理能力。
2024-07-08 15:06:46
5409
原创 书生·浦语2.5开源,推理能力再创新标杆
2024 年 7 月 3 日,上海人工智能实验室与商汤科技联合香港中文大学和复旦大学正式发布新一代大语言模型书⽣·浦语2.5(InternLM2.5)。相比上一代模型,InternLM2.5 有三项突出亮点:推理能力大幅提升,在部分维度上甚至超越十倍量级的 Llama3-70B;支持 1M tokens 上下文,能够处理百万字长文;具有强大的自主规划和工具调用能力,比如可以针对复杂问题,搜索上百个网页并进行整合分析。
2024-07-07 23:28:21
1110
原创 大模型推理加速调研(框架、方法)
大模型推理加速的目标是高吞吐量、低延迟。吞吐量为一个系统可以并行处理的任务量。延时,指一个系统串行处理一个任务时所花费的时间。调研了一些大模型推理的框架。
2024-07-06 23:24:43
1605
原创 阿里通义音频生成大模型 FunAudioLLM 开源!
人类对自身的研究和模仿由来已久,在我国2000多年前的《列子·汤问》里就描述了有能工巧匠制作出会说话会舞动的类人机器人的故事。声音包含丰富的个体特征及情感情绪信息,对话作为人类最常使用亲切自然的交互模式,是连接人与智能世界至关重要的环节。近日,阿里通义实验室发布并开源了语音大模型项目,旨在深化人类与大型语言模型(LLMs)之间的自然语音交互体验。这一框架的核心是两个创新模型:SenseVoice和CosyVoice。
2024-07-06 23:20:49
2452
原创 modelscope可控细节的长文档摘要
例如,20k tokens的文档的摘要不会是 10k tokens的文档摘要的两倍长。HuggingFace的transformers 支持加载GGUF单文件格式,以便为 gguf 模型提供进一步的训练/微调功能,然后再将这些模型转换回生态系统gguf中使用ggml,GGUF文件通常包含配置属性,tokenizer,以及其他的属性,以及要加载到模型的所有tensor,参考文档:https://huggingface.co/docs/transformers/gguf。此实用程序还允许传递附加指令。
2024-07-04 17:50:39
620
转载 大模型赋能:爬虫技术的全新革命_大模型爬虫
随着大模型技术的不断发展,内容解析的方式正在发生深刻变革。大模型加持下的提示工程方法为爬虫技术带来了前所未有的便利和效率提升。然而,我们也应该意识到,这种方法并非万能之药,它仍然需要结合具体任务进行定制化的优化和调整。未来,我们期待看到更多关于大模型在爬虫领域的应用和研究,以推动这一技术的进一步发展和完善。
2024-07-04 17:36:28
683
原创 服务器工具集合推荐
推荐一个朋友开源的服务器运维整合工具,目前的功能包括:ddns,rdp、ssh终端、ftp、http代理,支持在线文件编辑,文件管理,docker,进程,系统监控、wol唤醒,电脑远程开机,点对点,穿透。
2024-07-04 17:27:48
327
原创 RAG 案框架(Qanything、RAGFlow、FastGPT、智谱RAG)对比
亮点在文档解析、切片、query改写及recall模型的微调。没有最好,在自己业务的数据上,能落地就是最好的~。1、Qanything rerank模块设计的最好。4、智谱RAG,在领域数据上微调训练最好。3、FastGPT 模块动态配置多。下面分别按照模块比较各框架的却别。2、RAGFlow 文档处理最好。亮点在:数据处理+index。亮点在:rerank。
2024-07-03 23:52:10
2891
5
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人