2025年终总结
<p>2025年要结束了。此刻是2025年12月30日的上午8点52,我正坐在家里客厅的垫子上,赵老师和乖乖还在睡。外面阴天,窗户那边传来扫地的机器的声音。我拿着笔记本,来记录和总结一下我们的2025年。<br>如果用一个词总结2025年的话,我会用“幸福”。生活上,一切顺遂,父
Yunfeng's Simple Blog
<p>2025年要结束了。此刻是2025年12月30日的上午8点52,我正坐在家里客厅的垫子上,赵老师和乖乖还在睡。外面阴天,窗户那边传来扫地的机器的声音。我拿着笔记本,来记录和总结一下我们的2025年。<br>如果用一个词总结2025年的话,我会用“幸福”。生活上,一切顺遂,父
<h2 id="说明"><a href="#说明" class="headerlink" title="说明"></a>说明</h2><p>最近有个工作需要一个宣传视频,我希望将声音转换为黑白背景的视频,并且将声音对应的文字通过字幕形式显示出来,但没找到合适的工具。剪映语音识别字
<h3 id="细节"><a href="#细节" class="headerlink" title="细节"></a>细节</h3><p>前几天在GitHub上看到点赞了JiT的代码仓库,进去看了下,发现是kaiming he的新论文,这几天看完后,发现是一篇非常极简,优雅,结
<p>2023年11月份的时候,我写过一篇介绍贾扬清创业项目LeptonAI的文章,当时的感受是,项目对应的python包leptonai API设计优雅,对应的云端平台体验也很丝滑。后面看到团队又更新了叫gupd的一个仓库,这是一个轻量级、生产级的 GPU 监控与管理工具,为保
<blockquote> <p>这是去年9月份受两个实习生小伙伴讨论代码启发而做的一个小项目,这周五他们回学校了,我也把这个在草稿箱躺了11个月的文章改了改,发出来作为纪念。</p> </blockquote> <h2 id="背景介绍"><a href="#背景介绍" clas
<p>在音频处理领域,WavLM是一个强大的预训练模型,可以提取高质量的音频特征表示。然而,在实际应用中,我们常常面临模型体积大、推理速度慢以及部署复杂等问题。本文将详细记录我对s3prl项目中的WavLM模型进行优化,包括简化推理过程、ONNX导出以及MNN转换(包括FP16和
<p>近日,Manus 在<a href="https://manus.im/blog/Context-Engineering-for-AI-Agents-Lessons-from-Building-Manus">blog</a>中分享了关于agent搭建的一些实操经验,很有用,
<p>pytorch模型转换onnx的时候,遇到了下面的报错信息:</p> <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">RuntimeError: Cannot insert a Tensor that requires grad as a constant. Consider making it a parameter or input, or detaching the gradient </span><br></pre></td></tr></table></figure> <p>翻译过来就是不能将一个需要梯度的tensor转换为constant。</p> <p>定位到报错的层,是一个Conv2D,看起来是它对应的weight设置了requires_grad为True。本以为直接修改requires_grad = False 就可以了,但比较诡异的是,实际试下来并不行。</p>
<p>昨天看到周舒畅老师的AI短剧 <a href="https://zhuanlan.zhihu.com/p/1924834066970157596">论视觉大模型 VLM 的轻量化</a>,以讲相声的形式来表现,觉得很有意思,如果加上声音,就真的是一个技术领域的搞笑相声了。刚
<p>之前有一次,和做投资人的高中同学聊天,他提到了投资了“小明”的创业公司,这里的小明指的是明超平。后面渐渐了解了明超平的经历。今天在B站看到张小张小珺和小明的<a href="https://www.bilibili.com/video/BV1PDKozTEZJ/">访谈</a>,听完后收获很大,创业者的顶级认知很有启发,这里摘录一些我觉得有收获的观点,对访谈的原文做了删减和流畅化的改写。</p> <p>明超平背景:武大自动化系毕业,后转做产品经理,毕业后在One Plus 一加手机就职,后去字节做剪映产品,离职后加入MoonShot,负责海外产品Noisee。目前离职创业,做项目YouWare,一个用户分享、创造内容的社区。</p> <p>下面是访谈的一些观点和访谈内容。</p>
<p>2025年6月26日,Qwen团队发布了<a href="https://qwenlm.github.io/blog/qwen-vlo/">Qwen VLo</a>,一个定位是“unified multimodal understanding and generation model”的模型,包括多模态的理解和生成。</p> <p>根据官方的介绍博客,Qwen VLo包含下面的功能:</p> <ul> <li>图像生成:文生图、2D卡通图像转真实图像</li> <li>图像编辑:例如修改某个主体、更换颜色、更换风格</li> <li>图像算法能力:例如检测框、canny 算子、图像分割结果</li> </ul> <p>经过一段时间的测试,我个人的总结是:</p> <ol> <li>生图能力:效果比较差,感觉是一两年前生图模型的水平</li> <li>图像风格转换:效果比较稳定,生图有美感</li> <li>图像编辑能力:还算可以,有一些case做不好</li> <li>检测框:能稳定生成,单人没问题,多人场景下也不算很准</li> <li>图像分割:没有成功</li> <li>canny算子:细节更丰富,但有一些地方与原图并非完全对齐</li> </ol> <p>再单独吐槽一个点,刚开始没找到Qwen VLo的入口,看微信公众号文章的留言才发现,并不是以一个模型列在可选模型列表中的,而是不管选择什么模型,只要做生图任务或者上传图片进行对话,都调用Qwen VLo。这种不遵从用户已有习惯的设置,随意而为的做法,用户体验很差,要是没看到留言回复,真的不知道怎么用。</p> <p>下面详细展开我上面总结中各个条目的实际结果。</p>
<p>网站地址:<a href="https://nocode.cn/">NoCode-零代码应用生成平台</a></p> <p>简单使用了下,生成代码速度挺快的,NoCode的UI设计也简洁好用,但试了几次官方的实例()生成的代码也没跑起来。</p>
<p>Andrej Karpathy 有一条关于AI时代产品文本化的推文如下:</p> <blockquote> <p>Products with extensive/rich UIs lots of sliders, switches, menus, with no scripting support, and built on opaque, custom, binary formats are ngmi in the era of heavy human+AI collaboration.</p> <p>If an LLM can’t read the underlying representations and manipulate them and all of the related settings via scripting, then it also can’t co-pilot your product with existing professionals and it doesn’t allow vibe coding for the 100X more aspiring prosumers.</p> <p>Example high risk (binary objects/artifacts, no text DSL): every Adobe product, DAWs, CAD/3D Example medium-high risk (already partially text scriptable): Blender, Unity<br>Example medium-low risk (mostly but not entirely text already, some automation/plugins ecosystem): Excel<br>Example low risk (already just all text, lucky!): IDEs like VS Code, Figma, Jupyter, Obsidian, …</p> <p>Al’s will get better and better at human UIUX (Operator and friends), but I suspect the products that attempt to exclusively wait for this future without trying to meet the technology halfway where it is today are not going to have a good time.</p> </blockquote> <p>以下是我的一些见解。</p>
<blockquote> <p>credit: <a href="https://simonwillison.net/2025/Jun/7/comma/">via</a></p> </blockquote> <p>近期,<a href="https://huggingface.co/common-pile">Common Pile</a> 团队开源了利用开放数据训练的7B LLM模型Comma v0.1 1T和2T,训练数据采用的是这个团队采集的<a href="https://huggingface.co/collections/common-pile/common-pile-v01-68307d37df48e36f02717f21">Common Pile v0.1</a>,1个8T的数据集,包含公开数据,以及开放证书的数据,也就是训练大模型都是合法的,没有采用带版权的数据。</p>
<h3 id="1-说明"><a href="#1-说明" class="headerlink" title="1. 说明"></a>1. 说明</h3><p>mcp是一种创新的开源协议,用于规范大模型对外部工具的调用流程。mcp服务是供大模型调用的外部服务,用于增强大模型解决问题的能力。</p> <p>mcp服务可以用mcp python-sdk来搭建,官方教程在<a href="https://github.com/modelcontextprotocol/python-sdk">这里</a>。对第一次尝试的同学来说,官方的sdk还是有一定门槛的。</p> <p>最近发现gradio 默认支持mcp server的<a href="https://www.gradio.app/guides/building-mcp-server-with-gradio">部署</a>,也就是launch一个gradio demo后,默认就起一个mcp服务,无需额外学习mcp python sdk的使用。这对于已经熟悉gradio demo搭建的同学来说,方便了不少。下面我将展示一个简单的基于gradio的mcp server搭建,以及在一个mcp client中调用。</p>
<h3 id="1-原理说明"><a href="#1-原理说明" class="headerlink" title="1. 原理说明"></a>1. 原理说明</h3><p>在跑LLM推理的时候,有时候会出现模型不断复读的现象,也就是模型一直输出同一个token或者token序列,不结束输出。transformers库中有一个参数<code>repetition_penality</code>专门针对此现象进行优化,通过将其设置为大于1.0的一个浮点数(如1.05, 1.1, 1.2等),有些情况下能缓解重复问题。 这个优化思路是在2019年的论文<a href="https://arxiv.org/pdf/1909.05858">CTRL</a>中提出的。</p> <p>那这个参数是怎么解决重复问题的呢?其实实现原理很简单:对于之前出现过的token,在其logits(没有经过softmax的raw score)上作用一个<code>repetition_penality</code> 系数,使得它的logits数值降低,进而减少被选做下一个token的概率。</p>
<h3 id="1-问题说明"><a href="#1-问题说明" class="headerlink" title="1. 问题说明"></a>1. 问题说明</h3><p>在git管理中,有时候会遇到下面的报错:</p> <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line">Encountered 1 file that should have been a pointer, but wasn<span class="string">'t:</span></span><br><span class="line"><span class="string"> /path/to/file</span></span><br></pre></td></tr></table></figure> <p>或像下面这样:</p> <figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">Encountered <n> files that should have been pointers, but weren<span class="string">'t:</span></span><br><span class="line"><span class="string"> /path/to/file1</span></span><br><span class="line"><span class="string"> /path/to/file2</span></span><br></pre></td></tr></table></figure> <p>调查一番后发现,这种报错的核心原因是本应该用Git LFS管理的文件,直接被git来管理了。报错中提到的pointer ,实际上指的就是Git LFS 格式的文件,它不包含完整的数据,而只是一个指向完整数据的指针。</p>
<h3 id="1-说明"><a href="#1-说明" class="headerlink" title="1. 说明"></a>1. 说明</h3><p>看到最近为微软更新了一个BitNet新版本<a href="https://huggingface.co/microsoft/bitnet-b1.58-2B-4T">bitnet-b1.58-2B-4T</a>,参数只采用{-1, 0, 1}来表示,在普通CPU上性能挺好,而网络上测试结果不多,因此这里试试看到底效果怎么样。</p> <p>这里尝试了2种方式,一个是利用官方提供的网站,进行效果测试,另一个是下载模型自己本地搭建C++推理环境,两种情况都只在CPU上进行测试。整体测试下来,两种情况的效果都还是不能让人满意,有一点智商但不高,速度倒确实挺快的。不过随着模型不断迭代,或许未来能走出跟云端GPU环境部署的模型完全不一样的道路。</p>
<p><code>conceal</code> 是 Vim/Neovim 中一个用于<strong>优化显示效果</strong>的机制,它可以将某些语法符号替换为更简洁的视觉表示(或完全隐藏)。这在 Markdown、LaTeX 等格式中常用于提升可读性,但有一个问题:不太好确
<blockquote> <p>Whether it’s working on a project, solving a difficult problem, or even refining soft skills like communication, the act of