V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  matchalatte  ›  全部回复第 1 页 / 共 1 页
回复总数  20
个人拙见:多后端框架存在着很多难以解决的问题,
- 深度学习后端一直存在动态图/静态图两个流派,想同时兼容这两种是很困难的。特别是一些网络需要用到动态图特性,这种操作在静态图中基本无法实现。
- 从框架中抽象出的“兼容 API”反而会没有办法很好的利用各个后端的独特功能,因为兼容舍弃了特色。
- 由于多做了一层转换,在需要对底层代码进行修改时会更加复杂,层层嵌套的代码可读性也比较差。
- 后端框架会实时更新,一些 API 会被废弃(点名批评 TF ),而作为多后端框架一次一般只能兼容单个版本,更新维护也比较费时费力。

鉴于这些弊端,多后端框架一直不是很流行,并且使用时并不一定能降低开发难度。

目前从生态角度 Pytorch 应该是支持最好的,可以考虑通过 pytorch 训练,而在部署时将模型进行一定的转换,从而实现更好的兼容,例如:

- 开放机器学习格式 ONNX: https://github.com/onnx/onnx ,通过 ONNX 作为中间媒介也可以让 pytorch 模型在 tensorflow 等框架中加载运行。

- 苹果 CoreML 模型格式(实际上也是基于 ONNX 转换的): https://apple.github.io/coremltools/docs-guides/source/convert-pytorch.html

- 目前 LLM 端上部署比较主流的 GGUF 格式: https://github.com/ggerganov/llama.cpp/blob/master/convert-hf-to-gguf.py
@matchalatte #7 所以在英文里其实是两个单词,只是翻译成了同一种
@Muniesa #5 量化交易的量化应该是 Quantitative ,应该表示的是一种科学研究的技巧,比如定量分析 vs 定性分析。这里的量化应该是指“可以用数值衡量的意思”,通过统计学手段代替主观的交易倾向。

而模型量化英文是 Model Quantization ,Quantization 是一种将连续数值转化为离散数值的手段。在 AI 里一般的用途是用来压缩模型,因为模型权重在训练时一般是用浮点数表示的,而常见的浮点数形式 fp32 或 fp16 都比较占空间,转成 int8 或者是 int4 可以节约显存占用,提高模型在端上设备运行的可能性。现在的一些芯片(如高通、苹果)的 NPU 也会对整数计算做一定优化,提高量化后模型的运行效率。
130 天前
回复了 andyJado 创建的主题 程序员 通过 nas 暴露内网高 CPU 负载服务有坑吗?
是 python 吗,用 gradio 跑一个网页交互界面也许更简单
没有了解过大华的 SDK 形式,不过我查到一个帖子,不知道有没有帮助?
[知乎] 读取多个(海康\大华)网络摄像头的视频流 (使用 opencv-python),解决实时读取延迟问题
https://zhuanlan.zhihu.com/p/38136322
147 天前
回复了 Solael 创建的主题 Apple 苹果现在的软件质量无力吐槽
近些年 AirDrop 变得特别容易失败,共享剪贴板卡住或者粘不出东西,Handoff 抽风。Mac 的中文输入法 bug 也不知道多久了。
本来互联是苹果生态的护城河,但现在越来越烂。加上硬件挤牙膏,软件服务( Apple One )连续涨价,有种交了苹果税但是又没有获得应有体验的感觉。
169 天前
回复了 ossphil 创建的主题 OpenAI 请问如何用软件文档来训练 GPT 或其他 LLM?
训练还是比较困难。如果真的要训练的话,可以采用 LoRA 等高效参数微调的方式。
但是现在的 LLM 都是指令模型,微调并不是直接将文档放进去就行,而是需要构造问答形式的数据。如果只在文档上训练得到的模型就只有补全能力,并不具有针对问题回答的能力。

举个例子,如果直接将唐诗三百首喂给模型。你给模型输入“怀民亦未寝”,它能够继续续写。但你如果说“请给我写一个有关月亮的诗”模型就无法可靠输出,因为训练数据里并没有这样的指令形式。

目前主流的方法还是使用知识库,将文档放到一个基于向量的 KnowledgeBase 中,每次提问时自动在知识库中检索相关条目,拼接在上文里进行提问,也就是检索增强生成 Retrieval Augmented Generation (RAG)。
这种方法不需要对模型进行训练,因此可以使用本地部署的模型,也可以直接调用 OpenAI 的 API 。
现在已经有许多相关的框架了,如 [LangChain]( https://github.com/langchain-ai/langchain) 或是对 LangChain 的高层封装 [Chatchat]( https://github.com/chatchat-space/Langchain-Chatchat)
不知道 Keychron M3 (还有 mini 版)怎么样。
三模,有 type-c/usb-A 两种接收器,也能编程按键。
不过我已经有 Anywhere 了,暂时不打算换,所以观望一下。Anywhere 的电磁滚轮对于我来说有点难以割舍。
@ReZer0 #4
看起来像是网络波动导致 css 加载失败,可以 F12 看下是不是报错提示 css 缺失。
“打开后基本就不会在同一个页面复现” 这个应该是浏览器把 css 缓存了,所以再打开就不会有问题。
之前用 se 听无损还遇到爆裂声
具体表现为切换歌曲的时候偶尔会有非常响的噗呲一声,听着听着就被吓到,后面手机上就不开无损了。
一生足迹(好像暂时只有 iOS/watch 版),相见恨晚的软件。
因为自己不爱写日记,去过很多地方,但是除了一些零零散散的照片以外就没有特别的记忆了。每次有朋友问上次旅游去了哪些地方的时候大脑就会宕机。
而这个软件可以记录下出行的轨迹,方便回忆一次旅游的路途。看到地图刷满足迹也很有成就感。虽然很多地图软件也有类似的功能,但还是完全离线更放心一些。
219 天前
回复了 lihaokey 创建的主题 macOS sonama 游戏模式在哪?怎么开启?
1. MacOS 14 更新的那个“游戏模式”是指在运行游戏的时候优化后台调度,降低游戏卡顿,和运行 win 游戏无关。(还是要求游戏兼容 Mac )
2. 楼主你说的应该是 Game Porting Toolkit ,这个工具能转译 directX 调用,和 wine 结合就能运行 win 游戏。一个开源的实现是 Whisky: https://github.com/Whisky-App/Whisky
提取 Warp 的 Wireguard 参数,然后就可以用 Surge/Clash 去分流
站内一个帖子: https://www.v2ex.com/t/934317
alias rm=trash-put
trash-cli 类似于桌面环境的回收站,删除只是移到另一个路径,可以用 trash-empty 30 清理 30 天前的垃圾文件。
https://github.com/andreafrancia/trash-cli
安利下开源的 PhotoPrism ,有 docker 就能跑。AI 识别人物和物体的速度还行(纯 CPU 也能跑),不过准确率肯定是比不过大厂,胜在开源且方便部署吧。(我用在自己组的 TrueNAS 上,之前有个威联通但是在强行划分国区后就出掉了)
https://github.com/photoprism/photoprism
双卡推理目前有两种方案:
- 流水线并行:把层划分到不同 GPU 上,比方说切成前半后半,每次计算先用 gpu1 ,再用 gpu2 。好处是实现简单,缺点是推理延迟会变得很大。参考 ChatGLM 的一个多卡部署实现: https://github.com/THUDM/ChatGLM2-6B/blob/main/utils.py
- 张量并行:把每个参数切片到所有 gpu 上,每次乘法完做一个 all reduce 。这个手写修改源代码很困难。比较简单的方法是套用 deepspeed zero3 ,accelerate 库也有这个功能。参考: https://huggingface.co/docs/accelerate/usage_guides/deepspeed

如果用上 deepspeed 的话,还有个单卡多卡都可以用的方案
- deepspeed 有 cpu_offload 和 nvme_offload ,可以自动把没用到的权重下放到内存/磁盘里,再把要用的挪到显存里,这样理论上多大的模型都能跑,但是对内存和磁盘要求比较高,而且推理很慢。

需要注意的几个点:
- 双卡如果是 hf 模型,适配起来比较简单,调用 accelerate 库就可以了。但一些小众框架就很麻烦。多卡推理具体方法就是前面提到的两个。
- 3060 没有 nvlink ,双卡间通信是走内存,会很慢,而且 worker 开的多也会更吃内存。一万的预算不知道配了多少内存,跑大模型对内存的要求非常高,这个需要注意。
- 双卡需要注意主板的第二个 pcie 插槽能否跑到满速( x16 ),如果 x8 或者 x4 会降低通信速度,本身多卡就挺吃通信的。还有些主板第二个 pcie 还会和 nvme 硬盘槽位冲突,这些都得确认一下。
- 如果你们组不止一个人用,双卡会方便一些,在必要时可以分给两个人分别干不同的事情。
- 单张 4060ti 放的下模型的情况下,推理会比两张 3060 快。3060 虽然有 12Gx2 ,但分布在不同的卡上,计算需要来回通信,在推理时通信开销往往是比计算大很多的。

不过就像前面几层说的,仅推理 colab 就比较够用。自己组服务器还有维护、配置的一些成本,包括像内存要求这些问题。建议再三考虑。
243 天前
回复了 rilweic 创建的主题 iMac 适合 mac 的便携式扩展屏
我用 iPad 当 sidecar ,每次断开之后窗口都会乱七八糟的(全部挤到第一个桌面),但是用 typec 接其他显示器拔掉是正常的,这是正常现象吗
257 天前
回复了 liyafokan 创建的主题 问与答 有没有什么好用的 firefox 扩展推荐?
ClearURLs:清理链接里追踪参数
Feedbro:RSS 的阅读器
OneTab:折叠标签页,有时候网页开太多了,用这个临时收起来
Search by Image:一键谷歌/bing 识图
Firefox Multi-Account Containers:火狐自己出的神器,可以账号多开,或者给 YouTube 开容器防止 Google 的跨站跟踪
无解,只能 kill 了重开
killall -9 SCIM_Extension
这个已经被我 alias 进 zshrc 里了,卡了就跑一下
291 天前
回复了 axis3155567 创建的主题 macOS 有没有 chrome 的推特下载视频插件,好用的
我一般用浏览器插件 Twitter Media Downloader ,可以批量下载
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5690 人在线   最高记录 6547   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 52ms · UTC 09:00 · PVG 17:00 · LAX 02:00 · JFK 05:00
Developed with CodeLauncher
♥ Do have faith in what you're doing.