V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  ShadowPower  ›  全部回复第 27 页 / 共 85 页
回复总数  1682
1 ... 23  24  25  26  27  28  29  30  31  32 ... 85  
@wy315700 其实这是 Apple Music 的 bug ,我用原生安卓的时候也会听着听着就没了,有一次抓了 logcat ,发现是 AM 自己崩溃了。
用其他播放器就没有这个问题。
@wangxiaodong 然而绝大多数应用都应该禁止自启动,因为这种能力对于 99%的应用来说,都不是正常运行所必须的。
否则 iPhone 根本就不能用,因为真的没有,有也是 30 秒存活……

你提到了保活,对于真正依赖这个能力的应用,Android 给了一条路:如果你想后台保活,那么你应该创建一个常驻通知。
这个设计其实是:必须醒目地告诉用户“我就是想要在后台运行”。

这比 iOS 上的根据有没有播放音频来限制后台还要高明得多。

你会发现音乐播放器必定有一条通知来给你控制播放,除了方便用户操作以外,其实“保活”才是这条通知的核心目的。
高德地图、百度地图等应用,导航的时候也会创建一条常驻通知。

如果用户知道应用的功能必须后台保活,用户自然会理解。假如一个看新闻的应用也要后台保活,用户马上就会察觉到这个应用可能有问题。
其实 OP 的诉求是合理的,简单来说就是:

希望能像苹果一样,由系统组件统一呈现 APP 通知。
目的是为了能完全禁止自启动而不影响正常使用。


当然我能理解,不是所有人都了解 FCM 的工作原理。

论坛里有过一些帖子抱怨国内 ROM 收不到 FCM 推送,其实原因无非两种:
1. 谷歌服务的后台保不住(我只在老的华为手机上观察到这一点,其实大多数国产 ROM 还真给谷歌后台,只要打开谷歌服务开关,真的耗电);
2. 收到了 FCM 推送,但 APP 唤醒被拦截了,显示不了通知内容(这才是主要原因)。
@mxalbert1996 我开发过 FCM 应用,之前负责公司 APP 里的推送这一块。
虽然文档是这么写,但实际上 FCM 的工作模式并不是简单的一句“直接由系统处理”就能概括的。

像是小米推送、苹果的 APNs ,都是系统自带的组件来负责从接收推送内容到呈现通知推送的全流程。
仅当你点击了通知,或者是国内推送平台所谓的“透传通知”时,系统才会真正唤醒相应的 APP 处理推送内容。

FCM 并不是这种设计。它的职责只有统一收取推送内容,然后转发给 APP 。系统只负责一件事情:统一各种 APP 与推送服务之间的网络连接。

在 FCM 接收到通知之后,其实没有“把通知显示出来”的能力。最终都由 APP 自己处理。

文档中提到的“FCM SDK”并不是一个系统组件(系统组件也不会叫做 SDK……),而是集成到 APP 内部的一个模块,封装了接收和处理通知的逻辑。如果 APP 不能启动,那么其中的 FCM SDK 也不能帮你把通知显示出来。

如果你把应用关闭/杀死了,此时系统会短暂唤醒 APP ,然后走 APP 里的逻辑。消息类型并不会改变这一点,只是 FCM SDK 简化了应用开发,不需要用户自己创建通知罢了。原文是:“此类消息由 FCM SDK 自动处理”。

在你发的连接里,其实下面还有几句话:
“当您的应用在后台运行时,如果您希望 FCM SDK 自动处理通知的显示,请使用通知消息”
“应用在后台运行时,通知消息将被传递至通知面板。应用在前台运行时,消息由回调函数处理”

里面总会提到“运行”这一点,其实挺准确的。只是没有提到应用被杀死时会被 FCM 唤醒……


完全禁止应用后台自启动的情况下(无论是国内 ROM 限制,还是用 Xposed 修改了系统框架限制),FCM 日志里都是“Failed to broadcast to stopped app *********”。
如果手机上有自动填充服务,要给自动填充服务自动启动+后台运行权限。
我用 Keepass2Android/KeepassDX 可以复现这个 bug 。卡住的时候其实一直在等待自动填充弹出来,但它没办法后台自启动。

其他的密码管理器/密码自动填充工具也是一样的。
为什么这个问题只有一部分人能遇到,因为其实很多人不用这种工具。
326 天前
回复了 firhome 创建的主题 计算机 家用主机用 win 还是 mac?
@emberzhang 选 Windows 其实不是因为 Windows 强,只是因为对互联网程序员来说,x86 Linux 强。而 PC 上可以轻松地运行它,哪怕用 WSL2 也不错。

有了 PC+Windows+Linux ,还可以尝试更多的东西。例如 3D 动画制作、游戏开发、机器学习等等。不少玩意在 Mac 上其实还是比较坑的,我手里有 Mac ,但是我现在上班用 Windows……

Mac 大多数优势还是仅限于笔记本形态的设备,在无任何外接的情况下,触摸板生态好,音响和屏幕好。
但在家里用主机+外接各种外设+键鼠操作时,Mac 好多优势都没有了。

如果 OP 没有 Mac ,买一台也挺好的,不过已经有了,就不必把自己局限在单一平台上了。


还有一个很大的好处,PC 的可升级和可扩展性非常棒。不再需要纠结硬盘多大,内存多大,显卡多强之类的问题了。
326 天前
回复了 firhome 创建的主题 计算机 家用主机用 win 还是 mac?
Win ,搭配一块 NVIDIA 显卡
那是 C#程序吧……
.NET Framework 4.0 的话,无解
静态链接
编译选项/MT
328 天前
回复了 mysoko 创建的主题 Apple MacBook Air m2 投屏不了小米 Mini LED 电视?
除了苹果自家的设备以外,其他品牌的 AirPlay 都是逆向得到的……
不能用也正常
329 天前
回复了 Arguments 创建的主题 Apple Apple Music 资料库机制真的很垃圾
@FaneLau 竞品太多了,绑住用户得靠优势
@highsun16 其实目前还没达到令我满意的效果,后面还得看看怎么把数据清洗一下。之后还得再试试训练的时候能不能额外带上 Prompt ,让生成的内容更可控。

折腾完了之后,等有空我写一篇吧。
@daiv 是的
@isouu 我还没想过这个问题
@isouu Chat 模型,训练数据是一些大 V 的回答
@iorilu
Yi-6B 就挺好的,预训练数据里已经有好多小说数据了。
如果还想更小一些,还有 RWKV ,不过相关的生态比较少。

embeding 用这个: https://huggingface.co/moka-ai/m3e-base
@iorilu 只想双显卡加快训练速度的话,用 huggingface 的 accelerate 库就可以了,官方文档: https://huggingface.co/docs/accelerate/index

不过它只支持数据并行,所以不能解决那种一块显卡显存不够,用多块才够的问题。

之前看过一些框架,据说支持把模型拆分到多块显卡上训练。例如 DeepSpeed 、ColossalAI 之类的。只是我还没成功跑起来……
想给大家分享几点:
1. 虽然个人制作一个预训练模型不太现实,但是其实微调模型的门槛很低;
2. 如果你只有 6GB 显存,可以尝试微调 Qwen 1.8B 。虽然不能指望它给你准确回答问题,或者帮你写出正确的代码,但用于只需要想象力的文学创作方面还不错;
3. 零一万物的 Yi 系列模型其实很强,尽管中文互联网上讨论得少。主要优势在中文写作上。虽然它不那么遵循指令,然而 34B-Chat 的中文写作质量真的可以超过 GPT4 ;
4. 除了在 LLaMa 1 刚出来的那个时代,实际上,参数量大的开源模型效果往往不理想。参数量小的开源模型反而更实用;
5. 不要迷信 M2 Ultra 192GB ,想玩出花样,目前看来,NVIDIA 仍然是首选。


说说为什么参数量大的开源模型效果不理想吧。其实最大的原因在于参数量越大,训练成本越高。哪怕对于商业公司来说,预算也不是无限的。训练大模型其实有很多复杂的工程问题,需要多机器的都不简单。

参数量小的模型因为训练成本比较低,很快就能迭代新版本,不断地追加训练数据。
于是,小一点的模型相比大一点的模型,训练得更加充分,数据也更多样。
对商业公司来说,也更适合尝试不同的训练方法。全参数训练 6B 模型最低其实只要一块显卡,60 多 GB 显存。

还有,为什么不要迷信 M2 Ultra 192GB 。
我尝试了市面上绝大多数比较受欢迎的模型(仅中/英文),绝大多数有用的模型都在 1~34B 内。其中又有几乎 95%的模型在 1.5~14B 这个范围内。

M2 Ultra 192GB 的优势则是可以在输出效率能接受的情况下尝试 70B 、120B 、180B (只有一个)的模型。
不过很快你就会发现这些模型一点用都没有:
写作很差,都是那种总-分-总的议论文结构,而且非常机械、死板;
写代码或者回答问题都是错误百出……写代码最好的模型大多数有 34B 左右的参数量;
角色扮演也很无趣,输出实在是太正经了。无论扮演什么,都像在跟售后客服聊天,而且服务范围很有限。最好的角色扮演模型大多数是 13B 左右的参数量。原因很简单,网友自己微调模型,能接受的最高成本在这里。

另外大型语言模型其实可以量化运行,而且性能损失很小。llama.cpp 的 Q5_K_M 量化几乎不影响写作性能,依然能保持和 fp16 同等的质量。只是输出的内容不完全相同。

如果想用 M2 Ultra 192GB 训练模型,其实并不好使。坑很多,有这些:
运行不一定报错,但是训练出来的模型可能是废的。还不好排查问题在哪,网上没人讨论。比如,训练 Stable Diffusion 的 LoRA 拿来用,输出的图都是黑的……
训练速度超级慢。要是模型本身就不大,其实用 NVIDIA 游戏显卡坑少效率还高。模型大到 NVIDIA 游戏显卡跑不起来的情况下,训练速度就相当慢了。你不会愿意把它放着跑个一两年,还保持满载。

PyTorch 的 MPS 后端跑很多模型看起来“能跑”,但是有一些算子实际上没有 MPS 实现,会回退到 CPU 上跑。所以不能光看显卡理论性能。
在训练的时候,ANE 是完全用不上的(推理的时候能用上,但它只能做 INT8/FP16 卷积)。而 NVIDIA 显卡的 Tensor Core 能用上。

个人玩 LLM 最具性价比的选择是 3090 ,进阶选择是两块 3090 ,缺点是噪声比较大,主板和电源要求也高。
4090 在噪声方面好一些,但是现在还是太贵了。

不捡垃圾,不买矿卡,不魔改的情况下,入门选择是 4060Ti 16GB 。
只想体验一下的话,租个 VPS 玩玩,或者用 llama.cpp 用 cpu 跑……
最近微调了 Yi-6B ,能用来写知乎回答,能过知乎的 AI 检测……
虽然没什么用,但是好玩。比给 GPT 写各种各样的 Prompt 好玩多了。

目前还有不少问题,回答里会有很多广告、引流的内容。

这是一些例子:
https://i.imgur.com/2EsBuG9.png
https://i.imgur.com/mrJHfON.png
Note12Turbo 14.0.25 ,刚试了一下,没有复现
应该是 bug
1 ... 23  24  25  26  27  28  29  30  31  32 ... 85  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1036 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 28ms · UTC 23:18 · PVG 07:18 · LAX 15:18 · JFK 18:18
Developed with CodeLauncher
♥ Do have faith in what you're doing.