一、省流,直接看结论 一)参数:两个4090,1000 token的输入,128 token的输出(vllm benchmark默认值) 1. benchmark最高并发请求:60+ 参数:两个4090,1000 token的输入,128 token的输出(vllm benchmark默认值) 2.启用FlashInfer前后对比 启用FlashInfer比默认的PyTorch-native模式的性能提升差不多。 client端统计对比 server端统计对比 用pyplot针对这3次测试跑的3个日志文件生成了一个图。 3.结论 测试1000个请求, 三轮跑下来, 不启用flashinfer总耗时稍长一点点(差10来秒, 459 vs 449).启用flashinfer: 并发请求可达到60左右,但是受限于硬件/GPU, 首字出字速度, 单位输出token时延等数据都会延长。每秒输出的总token数1=125604/448.73=27.99 tps每秒输出的总token数2=125600/449.52=27.32 tps不启用flashinfer: 并发请求在40左右, 但首字出字速度, 单位输出 token时延都会较短.每秒输出的总token数=125604/459.73=27.32 tps 关于flashinfer:从测试结果来看,启用后并没有将这1000个请求的总耗时降下来多少,因此最终还是会受限于硬件/GPU? 二)参数:两个4090,1000 token的输入,1000 token的输出(会议摘要常规输出) 1.benchmark最高并发请求:约40~50左右 2.启用FlashInfer后数据 合并到上面的表格,具体看FlashInfer3一列数据 3.结论 指定输出token数量从128到1000,对最大并发有影响,全影响不是非常大。每秒输出的总token数=967760/1423.79=67.9 tps。这一段测试是在5点后,快下班时间跑的 二、测试硬件环境 •软件环境:PyTorch 2.6.0、Python 3.12(ubuntu22.04)、Cuda 12.4•硬件环境:○GPU:RTX 4090(24GB) * […]
jacky
一开始报没安装FlashInfer 启动vllm过程中有一个warning。 那就安装一下FlashInfer 从这个代码上看,应该只要不是0.2.3就可以了。 卸载flashinfer-python 安装一个老一点的0.2.2 重新启动server 终于启用了flashinfer! 但是依旧报警告:TORCH_CUDA_ARCH_LIST is not set 指定TORCH_CUDA_ARCH_LIST为8.9 我用的是4090,所以TORCH_CUDA_ARCH_LIST应该是8.9 重新启动server 成功!
前两天试了一下小红书开源出来的FireRedASR,整体感觉是小红书团队只是把关键的语音识别的模型开放出来了(也只开放了-L的模型),但是由于缺了一些前处理(语音VAD检测)、后处理(标点,多人语音聚类,热词等)相关的功能,普通用户拿到他们这个模型也根本没法直接拿来用,所以个人的观点是对于开源FireRedASR来说,小红书团队的诚意是不够的。 而光嘴巴说他们诚意不够是不能令人信服的,所以咱把阿里在2年多前开源出来的FunASR拿出来介绍一下,诚意够不够让大家自己体会。 一、FunASR介绍 FunASR是一个由阿里巴巴达摩院开发的开源语音识别工具包,旨在为学术研究和工业应用提供桥梁。它支持多种语音识别功能,包括语音识别(ASR)、语音端点检测(VAD)、标点恢复、语言模型、说话人验证、说话人分离和多人对话语音识别。FunASR提供了便捷的脚本和教程,支持预训练模型的推理与微调,帮助用户快速构建高效的语音识别服务。 支持各种音视频格式输入,可以把几十个小时的长音频与视频识别成带标点的文字,支持上百路请求同时进行转写 支持中文、英文、日文、粤语和韩语等。 在线体验:https://www.funasr.com/ 注: FunASR是支持GPU推理加速的,不像阿云早先的一个私有云版本的ASR引擎那样,只用CPU来推理的。 二、FunAsr核心功能 1. 功能列表 2. 离线语音识别 拥有完整的语音识别链路,结合了语音端点检测、语音识别、标点等模型,可以将几十个小时的长音频与视频识别成带标点的文字,而且支持上百路请求同时进行转写。输出为带标点的文字,含有字级别时间戳,支持ITN与用户自定义热词等。 3. 实时听写 FunASR实时语音听写软件包,集成了实时版本的语音端点检测模型、语音识别、语音识别、标点预测模型等。采用多模型协同,既可以实时的进行语音转文字,也可以在说话句尾用高精度转写文字修正输出,输出文字带有标点,支持多路请求。依据使用者场景不同,支持实时语音听写服务(online)、非实时一句话转写(offline)与实时与非实时一体化协同(2pass)3种服务模式。 三、安装部署 1. Requirements 2.创建虚拟环境 3. 安装 【必选】torch+torchaudio安装 我本次测试是直接用pip来安装的,省去docker相关安装、拉取的时间。其中需要注意的是如果你是一个全新的环境,没有torch, torchaudio的环境的话,需要先安装一下这两个。 如果是国内的话可以考虑加速一下 建议安装一下。不安装的话用torchaudio也能跑,但是ffmpeg更佳,毕竟是专业做这个的。没安装ffmpeg会有这个Notice: 4. 下载模型 常规的环境变量,指定huggingface和modelscope的cache路径,并为huggingface做个国内的加速。 5. 下载测试音频文件 在开始测试之前,你需要准备一些测试用的音频,可以直接用阿里云提供的先把功能跑通,然后再去用一些公开的测试集,或者是你自己的测试来测试FunASR的效果。 阿里云上的测试文件: 四、测试运行 在安装好FunASR,下载好模型,下载好测试文件后,可以开始跑正式的测试了。 1. ASR转写 从这个结果里可以看到,FunASR的标点、断句都做的非常好。音字对照的时间戳也都可以给你标出来了,基本上就是它所宣称的工业级别的了,有了这些基本上可以让你自行去扩展实现各种你需要的业务了。 2. VAD检测 对于语音转来说的,非常重要的一个前处理,尤其是针对文件转写来说,通常都需要先检测一下VAD,如果没有VAD,那么那一段时间的音频可以直接扔掉;另外,如果需要将大文件做切片的时候也需要根据VAD来做切片。哪怕转写出来文字后,要进行分段处理,那VAD的情况也是一个重要的参考指标。 3. 标点恢复 我相信没人想要一陀没有任何标点符号的文本吧。FunASR的ct-punc模型可以帮你处理标点符号的恢复。 4. 说话人验证 如果你想做一些说话人验证的产品和功能的时候,FunASR的这个speaker-verification模型可以直接拿来用。 […]
前两天看到一个新闻说:阿祖出来教大家英语了,哥一下子呆住了。所以当时就想是不是我自己也可以来做一个类似的东西?既然一个念头萌生了,那就搞起来呗。 想用大模型做一个训练英语听力的东西:https://www.oddmeta.net/archives/153 于是借着之前抄的几个界面,再加上现在还可以免费白嫖的文心一言API,扒拉扒拉就搞了一下。 周末这两天晚上基本上都没怎么睡觉,终于拼凑了一个东西出来了。 直接上地址:https://x.oddmeta.net 界面的实现 界面是照着RealChar抄的。具体可以看之前: 大模型 找了一圈,看到百度的文心一言的老模型ernie-speed-128k有完全免费的API,就去申请了一下。具体步骤如下: 花了我多少钱? 钱的事情这个事情很重要,搞这个项目需要花多少钱?答案是:171元/年,具体来说,阿里云ECS 99元/年,域名72元/年。 功能实现原理及效果 在首页选择“小英老师”,我给她的系统人设是: 你是一个来自美国的20岁女大学生,你的名字是小英老师,现在在兼职做英语老师,帮助一些母语不是英语的朋友来学习和练习英语。无论对方用什么语言跟你对话,你都务必用英语给对方回复,努力创建一个正式的英语对话场景。记住:只回复英语,永远不要说其它的任何语言。 这样的话,无论你跟她说的是中文,还是英文,正常情况下,她都会以英文来回复你,然后再利用EdgeTTS将她回复的话,转成语音,再播放出来,以此来达到练习英语听力的目的。 畅想、联想、想入非非 搞完这个东西后,又开始畅想、联想、想入非非了。一直以来,我都想给自己做一个专属的虚拟人,把TA当作我自己的一个树洞,每天或者每过一段时间把自己想说的话,想说的事,都告诉TA,然后如果某一天我想咨询一件事情的时候,可以去问问TA,看看一旦TA的数据多了后,TA会不会比我自己更懂我?细化后的TA应该要:1。可以跟我进行文字对话,看得懂我打的字,并以文字的方式给我回复,并把我告诉TA的事情记录下来,保存到一个数据库。2。可以跟我进行语音对话,听得懂我讲的话,并以文字或者语音的方式给我回复,并将我们的对话转换成文件记录到数据库。3。可以有一个具体的形象。。。4。可以作为一个代理(Agent)存在,记录我告诉他的待办,然后按照我的要求提前提醒我:有人过生日,早上叫醒,帮我定时开/关电脑、空调、灯具、电视等各种电器。5。其它我还没想到的。我自己希望能拥有这么一个TA,但是我又没多少毛爷爷,所以只能照毛爷爷说的那样,自己动手、丰衣足食,边学边用,现学现用,而且是一个零基础的人来学的AI。当然同时也是写给我的女儿Catherine同学的,以我的一个零基础的学习AI的经历、视角和经验,来介绍和说明如何开始这么一个学习。 期待有一天能把这个东西给搞出来,让我这每年花的171块钱派上实际的用场。
小红书开源了他们的自动语音识别模型FireRedASR,宣称很牛逼。今天咱也部署一下,并对它做一下测试。 项目地址: https://github.com/FireRedTeam/FireRedASR 为节省大家的时间,直接上结论:这玩意儿拿来学习不错,想拿来做产品不行。如果你是想评估FireRedASR是不是可以直接拿来做产品,那这边劝你放弃吧,但是如果你是想做ASR底层算法的研究,想了解一下它的具体情况的,可以继续往下看。 # 一、FireRedAsr介绍 FireRedASR 据介绍是一个工业级自动语音识别模型,支持普通话、中文方言和英语。该模型在普通话 ASR 基准测试中达到了新的最佳水平(SOTA),并在歌词识别方面表现出色。 ## 版本 它包括了两个版本,分别是FireRedASR-LLM和FireRedASR-AED。 – FireRedASR-LLM:专注于极致的语音识别精度。基于大型语言模型(LLM)的能力,实现 SOTA 性能,支持无缝端到端语音交互。在普通话基准测试中平均字符错误率(CER)为 3.05%,相比之前的 SOTA 模型(3.33%)降低了 8.4%。 – FireRedASR-AED:平衡了高准确率与推理效率。采用基于注意力的编码器-解码器(AED)架构,平衡高性能和计算效率,可作为基于 LLM 的语音模型中的有效语音表示模块。在普通话基准测试中平均 CER 为 3.18%,优于拥有超过 12B 参数的 Seed-ASR。 ## 技术原理 – FireRedASR-LLM:结合了大型语言模型(LLM)的能力,实现 SOTA 性能; – FireRedASR-AED 利用经典的 AED 架构,确保高效推理。 # 二、硬件环境 租的AutoDL的GPU服务器做的测试 – 软件环境 PyTorch 2.5.1、Python 3.12(ubuntu22.04)、Cuda […]
一、导言 ***牵头组织了一个会议,对Deepseek在视讯方案的可能性进行了一番讨论,讨论后的结论是对Deepseek先做一番技术上的预研,然后再上产品路标。后来**和**也针对此事做了一些交待。再后来就是撸起袖子了。 二、预研目标 《Deepseek在视讯方案的可能性》:一句话表示:在消费级的GPU上跑满血版Deepseek R11、GPU:结合公司的实际情况(还躺在米国政府的黑名单上),预研所针对的硬件必须是我们有可能买得到的硬件。2、Deepseek R1满血版:预研初期确定的目标是满血版Deepseek R1 671B(实际测下来发现可能存在一些问题) 三、预研情况说明 在曾哥租到GPU服务器之后,有了硬件资源后,主要利用这个GPU服务器做了以下几部分预研。一是包括Deepseek/QwQ32-B/Gemma3等等在内的大模型安装、部署与测试。二是有了大模型之后,视讯这边可能的一些应用,包括:Chat API, Agent等。三是与KIS做了一些集成测试。四是视讯智能产品KIS相关的一些周边技术,包括:ASR, TTS等。 一)预研设定的环境 1. 软件环境 PyTorch 2.5.1Python 3.12(ubuntu22.04)Cuda 12.4 2. 硬件环境 ○GPU:RTX 4090(24GB) * 2○CPU:64 vCPU Intel(R) Xeon(R) Gold 6430○内存:480G(至少需要382G)○硬盘:1.8T(实际使用需要380G左右) 参考:京东上GPU 4090 x2+CPU 6330 +内存64G+硬盘2T报价约为:69500。https://item.jd.com/10106874216614.html 二)大模型测试 直接上结论。 测试结果 大模型 框架 max_new_tokens context GPU数量 TPS(单连接) TPS(多连接) ds-r1-671b Q4 KT 8192 […]
回首当年,咱要练习听力,就是看美剧,但是现在时代不一样了。 刚才看到一个新闻,说吴彦祖跨界教英语! 而Catherine同学去年春考英语没考好,由于也拿不到考试的实际结果,不能明确知道到底是哪儿丢了多少分,但是猜测一部分的原因就在于听力那里不知道是开个个小差,还是怎么样,反正大概率就是在那里丢了不少分。 考虑到去年跟Catherine一起学习了一些智能相关的东西,心想是不是刚好可以把这个作为一个课题来练习?等Catherine这个星期五从学校放学回来了,跟她再商量商量。不过,我自己的计划可以先做起来。 同时也是为了庆祝,咱这个公众号终于通过了实名认证,中间的千波万折咱就不提了。 另外,也敬告阿祖,这次别收手了。 想做一个练习听力的功能 – 将Catherine前面做的聊天机器人后台改一下,加个TTS(Text to speech)的功能。 – 给聊天机器人加一个system prompt(系统人设),让TA不管你跟TA用什么语言来说话,统一都只用英语来回复。 – 然后前端在收到后台LMM返回的文字后,再去调用一下后台的TTS引擎,生成音频,再返回给前端,由前端来将其播放出来。 – 其它。。。省略一万字,各种暂时还没想到的功能或流程 跟“阿祖教英语”的区别 互动方式不同:阿祖教英语实际上就是看视频;咱要做一个实时互动的聊天。 问了下deepseek:视频教学和实时互动教学的区别 Deepseek说: 视频教学和实时互动教学是两种主流在线教育形式,其核心区别及对初学者的适用性可从以下维度分析: 对比维度 视频教学 实时互动教学 互动性 单向输出,缺乏即时反馈 双向交流,可实时提问、纠错 灵活性 自主安排学习时间,支持反复观看 固定时间参与,需同步在线 学习氛围 标准化内容,适合基础知识点传递 可根据学生水平调整难度,针对性强 教学深度 缺乏社交属性,易产生孤独感 师生 / 同学互动增强参与感 技术要求 低(仅需播放设备) 高(需稳定网络、互动工具操作能力) 如果是用AI来做的话,那上面提到的实时互动教学的“灵活性”一条,也可以不需要固定时间参与,不需要同步在线了。 为什么只做听力,不做口语? 一句话来说就是:臣妾做不到啊。 以下是借口: 如果要练习口语的话,考虑到现有的STT(Speech-to-text)语音转文字/ASR语音识别的功能不太合适,如果你发音不对的话,直接在STT这一环就被识别错误,到了文本大模型就已经是一段错误的文本,现有的、我掌握的技术路径下,无法做到用一个音频大模型来覆盖开放式的口语发音的学习的功能,现有的口语训练校正都是封闭式的,如:给出一段固定的文字,然后后台配置一个标准发音的音频,然后再将用户说出来的音频来做一个对比,看匹配度多少,以此来打分,这个打分功能就跟KTV里的卡拉OK打分一样,可能是非常不准确的,许多时候重要的只是音量,不是实际的发音。 立个Flag 我要开工了,这次一定不半途而废。不管这个练习听力的功能最终的实际效果会怎么样,适不适应这个应用场景,现在我也不知道,但是退一步讲,这个功能即使最终发现不适合,那单纯这个TTS文字转语音的功能也是日后虚拟人标配必须的功能。希望利用这个星期的下班时间搞一搞。
用Ollama 对 Gemma3多模态27B版本做功能、性能测试 谷歌刚刚推出的开放权重LLM:Gemma 3。它有四种大小,10亿、40亿、120亿和270亿个参数,有基础(预训练)和指令调优版本。Gemma 3 MultiModel人如其名,支持多模式!40亿、12亿和270亿参数模型可以处理图像和文本,而1B变体仅处理文本。 今天咱来试试看。 一、硬件环境 租的AutoDL的GPU服务器做的测试 •软件环境 PyTorch 2.5.1、Python 3.12(ubuntu22.04)、Cuda 12.1 •硬件环境 ○GPU:RTX 4090(24GB) * 2 ○CPU:64 vCPU Intel(R) Xeon(R) Gold 6430 ○内存:480G(至少需要382G) ○硬盘:1.8T(实际使用需要380G左右) 二、虚拟环境及vllm安装 默认认为你已经安装好了conda,如果还没安装的话,先搜索一下conda安装 三、安装Day0 transformers Gemma3依赖一些Google新提供的transformers的接口,因此必须先更新一下transformers。 建议走一下github加速器:ghfast.top 四、模型下载 export HF_HOME=”/root/autodl-tmp/HF_download” setproxy.py代码: 执行 python setproxy.py 设置代理环境变量 然后再下载: 共16个G多一点。慢慢来。 五、模型运行 用ollama来运行gemma3 运行前请确保ollama服务已启动,若未启动的话,请在另一个命令行中先启动一下: ollama serve 若ollama后台服务已经启动,则可以开始加载运行gemma3了 […]
问题现象 在Open WebUI里上传一个附件,然后针对这个附件做聊天或者问答,但是返回异常。 查看后台日志,有如下报错: 问题分析 从后台的错误上看应该是save_docs_to_vector_db的embedding_functionb出错了。再具体看了一下代码应该是没的安装语义向量模型引擎sentence-transformers导致的。 解决方案 切回到前台的Open WebUI,用管理员身份登录进去。然后点右上角的“设置”,并找到“文档”,然后在该界面上点一下右这的下载的图标,如下图所示。 若下载成功了,应该就OK了。不过,实际上我这边的情况是下载失败。所以同志还要努力。继续往下走。 文档设置中下载sentence-transformers/all-MiniLM-L6-v2失败 查看后台日志,发现报错如下 从这个报错来看,应该是open_webui/retrieval/utils.py的get_model_path()在调用snapshot_download()连不上huggingface导致的。因此,我们需要再设置一下代码,翻个墙,或者设置一下huggingface的镜像站。 后台关了Open WebUI,然后设置一下代理及huggingface镜像。 设置代理 设置huggingface镜像export HF_ENDPOINT=https://hf-mirror.com 重启 Open WebUI ./start.sh 后再chat with 附件,一切正常。 以下是我的start.sh的代码:
同之前的Open WebUI联网搜索功能异常问题一样,一样步骤很简单。 下载STT模型 先得启用一下Open WebUI的STT(Speech To Text)语音转文本的功能,用管理员登录进去,然后点OpenWebUI的右上角Admin Panel(管理面板)设置,再到Setting的Audio设置项,如下图所示,先在STT Model那里填一个wisper模型名,如:base(截图的时候忘记填了),然后点击一下那个下载按钮。 若是点了后没任何响应,看下后台的日志,如果碰到诸如此类的报错: 那我只能说,你没有任何错,只是错在你身处的这个网络(需要科学上网)在服务器上,执行下面的命令设置一下huggingface的镜像站,然后再重新下载一下。 若是还是没有任何响应,确认一下STT Model那里的wisper模型名有没有填,有填的话填的对不对。 解决http地址无法访问麦克风问题 http网页默认情况下是不允许开麦克风和摄像头的,但是如果是为了测试功能,我们可以通过如下步骤在chrome里来给打开 然后在Insecure origins treated as secure里将默认的Disabled改成Enabled,并将你要访问的地址填一下到里边(可以多个)。填完后会提示你重启浏览器生效。重启后你就可以在这个地址开麦克风、摄像头了。 解决了http无法开麦克风问题后,到Open WebUI就可以录音频的方式去问问题了。