V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
slannad
V2EX  ›  程序员

mac 现在适合深度学习开发吗?

  •  
  •   slannad · 2022-07-07 17:18:02 +08:00 · 6392 次点击
    这是一个创建于 652 天前的主题,其中的信息可能已经有所发展或是发生改变。

    这段时间打算换个笔记本 但是我现在如果换 m1/m2 系列的笔记本的话,就要面临实际的开发兼容性问题。

    比如 tf1 版本 /tf2 非最新版本 /torch 非最新几个版本,其它依赖于 c 的库,似乎都有兼容性问题,而且有的是 cpu 似乎也安装不起来的那种。

    但是看了知乎等社区的问答,只要有人问这个问题,底下不管是不是搞这个的,都有这种回答“什么年代了,都是连着服务器跑”

    自己的代码还好,但是实际工作经常是在已有开源代码,或者预训练模型上继续工作,版本不兼容就是大麻烦了,尤其是我还是搜广推领域的,跑不同版本,不同的开源模型也是常态,然后在这些模型基础上开发。

    实际上,我的代码是仍在服务器跑,但是也会经常在本地调试,或者跑个一轮,没问题再扔服务器。如果全程都是连着服务器的话,mac 不就是变成一个码字平板了吗。。

    有没有 cv/nlp 领域的炼丹师,解答一下,你们用 m 系列的 mac 都有没有问题,怎么解决的

    27 条回复    2022-07-08 15:14:53 +08:00
    muchenlou
        1
    muchenlou  
       2022-07-07 18:39:22 +08:00 via iPhone
    等我蹲到 mac 再回来
    czfy
        2
    czfy  
       2022-07-07 18:44:52 +08:00 via Android   ❤️ 7
    你在这里问结果也是 “什么年代了,都是连着服务器跑”
    menc
        3
    menc  
       2022-07-07 18:48:06 +08:00
    要说适合不适合的话还是不适合。
    实话说,对算法工程师来说,mac 也确实就是个码字平板
    threebr
        4
    threebr  
       2022-07-07 18:48:23 +08:00
    人在欧洲大学,职工可以直接领 mac ,但是会在本地测试模型的同事还是在用 windows 笔记本。本地调试的话建议还是别和 m1 死磕兼容性问题了。
    Laussan
        5
    Laussan  
       2022-07-07 18:52:09 +08:00
    但凡无法配台式的场合,炼丹买 mac 就是纯折磨,有兼容性顾虑建议看下带 RTX 显卡的笔记本。

    mac 的确就是一个码字板,但它确实也是一个称职的码字板。我对笔记本的要求就是轻便+续航,用 mac 没什么大问题。win 本已经很久没有研究过了,但到现在还没人跟我推荐过出门不用带充电器的 win 本。我自己的和推荐的解决方案都是台式机上满配+macbook 远程,串流用的 splashtop 。目前模型感觉显存占用都挺大的,本地也都是 90 这些卡能无压力地上小 batch 自己测测。隔壁组做 nlp 的好像全是跑多卡,就没见过在本地自己调的。

    题外话: 最近看 80 和 80ti 这种都破首发价了,带 30 系的笔记本仍然维持在高价。出大价钱买低性能就图个不怎么便携的便携性我感觉还是不太行,不如 pdd 买 mba 然后配个台式...
    Juszoe
        6
    Juszoe  
       2022-07-07 18:53:44 +08:00
    不就是全程连着服务器吗,IDE 远程调试之类的都挺方便的
    felixcode
        7
    felixcode  
       2022-07-07 19:05:34 +08:00
    mac 上跑不了的,都是“什么年代了,都是连着服务器跑”
    TimePPT
        8
    TimePPT  
       2022-07-07 19:16:40 +08:00
    一直以来,Pytorch 在 Mac 上仅支持使用 CPU 进行训练。就在刚刚,Pytorch 官方宣布,其最新版 v1.12 可以支持 GPU 加速了。只要是搭载了 M1 系列芯片的 Mac 都行。
    https://www.ithome.com/0/619/279.htm
    root99527
        9
    root99527  
       2022-07-07 19:19:46 +08:00
    非要本地调试肯定还是 ubuntu+nvidia ,少折腾这些有的没的
    lithiumii
        10
    lithiumii  
       2022-07-07 20:31:50 +08:00
    买 M1 Air 最低配,就当个码字平板用呗。一定要本地测试的话,省下来的钱搭个带独显的台式,放家里或者公司。
    仅作为码字平板而言,Windows x86 没有对手吧:基本没有无风扇的轻薄笔记本这个类别,就算有,性能也会比 Air 差一大截。
    除非你需要在咖啡厅炼丹
    liangch
        11
    liangch  
       2022-07-07 20:40:24 +08:00
    M1 Air 一般码字,一般看视频。不好么。
    clrss
        12
    clrss  
       2022-07-07 20:49:57 +08:00 via iPhone
    路过问下 M1/M2 能跑 deepfake 吗?
    16G RAM 够吗?
    Dragonphy
        13
    Dragonphy  
       2022-07-07 21:10:39 +08:00
    @czfy #2
    什么年代了还在用传统笔记本?
    ospider
        14
    ospider  
       2022-07-07 21:23:08 +08:00
    如果你像我一样坚决抵制 TensorFlow 的话,可以考虑,毕竟 torch 已经支持 M1 了,感觉公司给配的 M1 ultra 64G 很香。
    makelove
        15
    makelove  
       2022-07-07 21:39:40 +08:00
    linux 永远是最佳开发 OS 。windows 的 wsl 也是同 linux 二进制级别兼容的。mac 那个不是 linux
    WOLFRAZOR
        16
    WOLFRAZOR  
       2022-07-07 21:41:24 +08:00
    现在可能还不行。以后的话应该会追上来。
    SorryChen
        17
    SorryChen  
       2022-07-07 21:52:28 +08:00
    CV 炼丹,确实从来都连着服务器跑。调试会有调试服务器,运行提交到集群。用 VS code 远程开发几乎感觉不到不舒服。所以电脑确实就是个码字的东西= =
    wa007
        18
    wa007  
       2022-07-07 22:36:00 +08:00
    如果只是为了小数据量调试,那肯定是可以的。
    如果真炼丹,pytorch 新做了 M1 的加速适配,效果离 GPU 还是有些距离。
    dayeye2006199
        19
    dayeye2006199  
       2022-07-08 02:13:22 +08:00
    奇怪版本兼容问题 -- docker

    mac 不就是变成一个码字平板了吗 -- 是的,就是个打字的

    我猜 LZ 公司的服务器对远程开发不太友好,没有开放 SSH 这样的权限,导致同步代码和数据非常的痛苦。
    需不需要考虑一下我司研发的机器学习集群环境 -- 可以快速的把一个服务器集群组成一个统一对外提供机器学习开发服务的平台 -- https://convect.ai/en/hub/
    codefun666
        20
    codefun666  
       2022-07-08 07:39:11 +08:00
    自己买一台服务器啊
    fqy12300
        21
    fqy12300  
       2022-07-08 09:53:57 +08:00
    前端完全不需要考虑兼容性问题
    yy77
        22
    yy77  
       2022-07-08 10:42:29 +08:00
    挺难搞的,出了问题都不容易查到解决方案。尤其是很多开源代码会依赖一些比较老的库版本,到时候想调通可就费劲了。
    slannad
        23
    slannad  
    OP
       2022-07-08 11:00:29 +08:00
    @wa007 现在问题是,小数据量调试都无法完成,这就是难受的地方,如果只是 gpu 不能用,那还好,但是是 cpu 版本都不能用,调试都要依赖服务器;所以感觉有点麻烦
    slannad
        24
    slannad  
    OP
       2022-07-08 11:04:37 +08:00
    @Laussan 问个实际问题,家里自己配开发机的话,在外用就不太方便了吧,公网 ip/上传宽带都要考虑;直接买商业机器,用来做调试也感觉有点浪费 。
    我公司开发也是需要 gpu 的时候全程服务器,但是也需要经常在自己电脑上,下个新的模型,debug 看看;这个场景需要自己的机器
    slannad
        25
    slannad  
    OP
       2022-07-08 11:05:43 +08:00
    @yy77 你应该已经感受到各种版本 /依赖的痛苦了
    slannad
        26
    slannad  
    OP
       2022-07-08 11:07:59 +08:00
    @Juszoe 😂如果是公司服务器,那无所谓。自己的笔记本也经常用得到,下个模型,deubg 看一下,为此买个服务器用来调试感觉太奢侈了
    Laussan
        27
    Laussan  
       2022-07-08 15:14:53 +08:00
    @slannad ssh 能要多大带宽,5M 不到差不多稳够,直接用 vscode 远程。公网 ip 不是非常必须,找个云服务器提供商的轻量服务器中转 frp/用 zerotier 打洞 /用远程桌面软件串流 /打电话给运营商开公网 ip 都可以。多个步骤当然会稍微复杂一些,实际体验下来也没复杂多少。

    我觉得调试最好的就是服务器是什么环境本地就有和它差不多的环境,最大程度避免不必要的精力耗散。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1635 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 34ms · UTC 16:45 · PVG 00:45 · LAX 09:45 · JFK 12:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.