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

Mac 跑 Stable Diffusion,预算有限是上 38 核 GPU,还是上 64 GB 内存?

  •  
  •   apppa · 204 天前 · 4999 次点击
    这是一个创建于 204 天前的主题,其中的信息可能已经有所发展或是发生改变。
    目前 N 年前的 MBP ,跑 SD 生成一张图太慢了,准备升级。不知道 SD 在 Mac 上跑图是吃 GPU 还是吃内存?
    50 条回复    2023-11-14 10:39:42 +08:00
    qweruiop
        1
    qweruiop  
       204 天前
    一样慢,我专门买了个 rog 来生图。。。mac 就别指望了。。。
    seres
        2
    seres  
       204 天前
    提升都不大
    不如抠出三千,E5 + 2080ti 改 22G
    给你飞一般的画图体验
    zooo
        3
    zooo  
       204 天前   ❤️ 1
    非 mac 跑的

    前几天跑过,发现内存需求挺大的,48G 内存不够用,把 swap 拉高才能跑,我理解的 GPU 显存大小越大越好,不过听说 mac 的显存和内存是同一个,那就是内存越大越好,至少 64G
    zooo
        4
    zooo  
       204 天前
    另外,跑图慢倒无所谓,现在要出效果好,得用大模型,模型越来越大,比较吃显存
    zooo
        5
    zooo  
       204 天前
    Mac 的 GPU 比 N 卡 3090 跑图速度更快么,不清楚 Mac 芯片真正用来跑模型的速度,业界大多都用的 N 卡跑的吧
    emeab
        6
    emeab  
       204 天前
    我的建议是买 4090
    TabGre
        7
    TabGre  
       204 天前 via iPhone
    你们用的什么客户端🏃的?
    imqiyue
        8
    imqiyue  
       204 天前
    为什么一定要在 Mac 上跑,可以考虑搭建个 linux 环境,用 Nvidia 的显卡跑呀,出了问题还好排查
    newage126
        9
    newage126  
       204 天前
    sd 和玩游戏一样 不适合在 macOS 上搞
    youthfire
        10
    youthfire  
       204 天前 via iPhone
    windows 上 N 卡跑,mac 远程
    apppa
        11
    apppa  
    OP
       204 天前
    @zooo 明白。您觉得显卡核心数多少够用?
    apppa
        12
    apppa  
    OP
       204 天前
    @TabGre 一般都用 Stable Diffusion web UI 吧
    cest
        13
    cest  
       204 天前
    64G, 还可以玩玩 llm

    ram 是能不能动的问题
    gpu 是去玩多久手机的问题
    zooo
        14
    zooo  
       204 天前
    @apppa 不清楚

    另外,真心不建议用 mac 跑

    不只是速度的问题,跑模型遇到一些问题,mac 版能够查到的资料的少,不如用 N 卡

    如果你要做模型在 mac 系统移植那另说
    formant
        15
    formant  
       204 天前
    2080ti 魔改 22G ,了解一下。
    ybz
        16
    ybz  
       204 天前
    你有没有感觉 Mac 跑 sd 生成的图片很丑?使用通用模型
    paopjian
        17
    paopjian  
       204 天前
    真被忽悠瘸了啊,用 mac 跑 AI
    TabGre
        18
    TabGre  
       204 天前 via iPhone
    @apppa 有具体的 githib 地址吗? 我找了几个 都不大好用
    lun9
        20
    lun9  
       204 天前 via iPhone
    专门买了 4070 来跑😂
    TUCANA
        21
    TUCANA  
       204 天前
    @ybz 我也觉得,同样的参数 Mac 跑出来的不好看。但是这个很主观,没有证据
    ShadowPower
        22
    ShadowPower  
       204 天前
    预算有限的情况下不要用 Mac 跑,因为任何一个选项都是性价比很低的选项。
    作为参考,我的 4060Ti 16GB 跑 512x512 的图,用 UniPC 采样器,大约 13it/s 。

    如果不得不买 Mac ,建议租 GPU VPS 来跑。
    ShadowPower
        23
    ShadowPower  
       204 天前   ❤️ 1
    另外,和大型语言模型是 IO 密集型任务不同,Stable Diffusion 实际上是计算密集型任务。
    计算性能一般但带宽够大的设备适合前者。
    Stable Diffusion 模型参数相比大型语言模型并不大,但运算量要大得多。

    我用 4060Ti 16GB 就可以训练(不是推理) SDXL Lora 模型。游戏玩家会告诉你这块显卡是智商税,但玩 Stable Diffusion 的会告诉你这是非矿非改全新显卡中最实惠选择。

    另外用 Stable Diffusion 直接出超高分辨率是毫无意义的,如果你生成的图像超出了训练分辨率,即:
    原版 1.4 、1.5 是 512 像素边长
    原版 2.0 、2.1 ,以及 NovelAI 泄露模型和衍生模型是 768 像素边长
    SDXL 是 1024 边长

    如果超出一点点还行。超出很多的话,并不会得到一张细节非常清晰的图,而是得到一张主体元素重复,内容四分五裂的图。只是图片看起来还能衔接起来罢了。

    在使用 xformers 的情况下,我用 6GB 显存跑原版 1.5 模型都可以直出 2048x2048 。但我也就体验了一次,之后根本没有用过。

    真正出大图还是用 Tile 模式,先生成一张正常的小图,然后把这张小图放大,分块,最后细化每个分块。
    实际上用起来显存使用量跟生成小图差不多。

    ---

    虽然 N 卡 16GB 显存就可以做,但我从未听说过有人用 32GB 内存的 Mac 来做同样的事情。(指训练 SDXL 的 Lora )
    hawei
        24
    hawei  
       204 天前
    直接开 cloud gpu
    wclebb
        25
    wclebb  
       204 天前 via iPhone
    关于这个有 YTB 谈过。

    ?si=XQ5sosyTctnZWblx

    可以了解一下。

    我个人觉得内存越大越好,速度可以慢点,内存上不去就真上不去了。

    大约 11 分钟这里谈到 SD 对于大内存的优势。大内存 SD 可以出十连抽,内存低的只能抽一张。
    findex
        26
    findex  
       204 天前 via iPhone
    放弃 mac 。特别慢。手有 m1 和老黄家显卡,m 再怎么吹也被 n 卡吊打几个数量级。gpu 核心加显存都吃。4090 笑而不语。

    你这思路很清新奇特。我觉得你想表达的是,喜欢平时用 mac 电脑,但是老 mac 太慢了需要更新换代一台。想偶尔跑跑 sd ,预算不太多,选 gpu 核心多的款式还是内存大一点的。都选的话荷包不太够,给个建议。
    WuSiYu
        27
    WuSiYu  
       204 天前
    跑 sd 就用 4090 吧,跑推理的话显存需求不大,24G 完全够用。而别的实现连 flash attention 都没有,反而会需要更多的内存,O ( n )和 O ( n^2 )的区别。

    mac 是很一般的算力 + 大容量的(内存)显存的组合,唯一的用处是跑单 batch LLM 推理这种极为特殊的 workload ,跑别的计算密集的负载,比如 stable diffusion ,都极为拉垮:m2 max gpu 的 fp16 性能为 26.98 TFLOP/s ,而 4090 为 350 TFLOP/s 以上( tensor core )
    justaname
        28
    justaname  
       204 天前 via iPhone
    原来还真有人信了 mac 那残疾独显(除开低功耗区间的能效比优势)能跑 DL 呀……
    winglight2016
        29
    winglight2016  
       203 天前
    你要出图为啥要本地运行,脚本写好,在云端服务器跑才是王道。用你购买设备的钱,足够出 10w+的图了
    huihushijie1996
        30
    huihushijie1996  
       203 天前
    所以 mac 跑这种吃设备的程序还是不得行嘛
    ApmI00
        31
    ApmI00  
       203 天前
    @huihushijie1996 别说 m1 系列了,A 卡都得劲。老老实实老黄家的吧
    devHang
        32
    devHang  
       203 天前
    mac 跑 sd 就纯折磨。
    至少我是 32G 的 M1 Pro ,用起来只能算是勉强可以出图。512 的图 25 step ,也要 1 分钟左右。
    devHang
        33
    devHang  
       203 天前
    @devHang 个人建议想长时间玩,要不然就 N 卡,要不然就租云服务。
    ykk
        34
    ykk  
       203 天前
    我用 A100 都觉得慢
    sharpy
        35
    sharpy  
       203 天前
    跑语言模型可以用 mac ,跑图尽量还是上英伟达吧
    huihushijie1996
        36
    huihushijie1996  
       203 天前
    @ApmI00 没用过 mac 我还以为可以跑 emmm
    Lambert2022
        37
    Lambert2022  
       203 天前
    直接用 Poe 上的
    nno
        38
    nno  
       203 天前
    @ShadowPower 模型都是计算密集型,包括语言模型
    ShadowPower
        39
    ShadowPower  
       203 天前
    @nno GPT 、LLaMa 和类似的模型都不是,否则模型量化都不会提升效率。
    因为量化不会降低计算量,实际计算的时候都先还原成 float16 再计算……
    ShadowPower
        40
    ShadowPower  
       203 天前
    @nno 另外,实际上加大 batch size 以及使用 flash attention (指第一代,因为第二代还有比如尽可能利用矩阵乘法之类的技巧)能提高效率,还是因为能缓解 IO 瓶颈……

    运算性能出现瓶颈而 IO 还没有瓶颈的情况下,加大 batch size 不会节省多少时间,和跑多次差不多。
    lianchi
        41
    lianchi  
       203 天前
    我试过用 M1 Max ( 32G 内存,24 核 GPU )跑 SD ,第一次出现了 M1 发烫、风扇猛转的情况。出图速度没达到预期。
    hpan
        42
    hpan  
       203 天前
    没有 M2 用户现身说法一下?
    zsc8917zsc
        43
    zsc8917zsc  
       203 天前
    M2MAX 32G 实测 不能训练 Lora ,训练出来的模型效果是黑色的。 出图慢,会发烫,会站交换内存,交换内存释放不了会卡点很厉害。
    TheSpecialOne
        44
    TheSpecialOne  
       203 天前
    M1Pro 在没有跑 SD 之前没热过,没听到过风扇声音。
    跑了几次后,即使不用 SD ,经常发热,时常听到风扇声音。
    ShadowPower
        45
    ShadowPower  
       203 天前
    @hpan
    M2 Ultra 192GB 上用 ComfyUI 跑 SDXL 大约有 0.7 it/s
    4060Ti 16GB 有 2.22 it/s
    evan9527
        46
    evan9527  
       203 天前
    顶配都不管事,还是买一台 n 卡的 pc 吧。
    Moker
        47
    Moker  
       203 天前
    有钱 4090 没钱 3080 CPU 带不动的,这东西得上 GPU
    jevonszmx
        48
    jevonszmx  
       203 天前
    有钱 4090 ,没钱 P100 矿卡 100 块搞定
    sl450282169
        49
    sl450282169  
       199 天前
    不建议使用 M 系列跑 sd,首先是由于平台差异,计算结果会跟 x86 不一样,差别还有点大.其次就是由于部分功能依赖于 N 卡的某些东西,在 Mac 上跑不起来.会特别慢

    我之前在我电脑(M1 max 64G)上跑 SD,感觉 cpu 还好,内存占用会比较高
    COOLEER
        50
    COOLEER  
       165 天前
    M 系列可以用 Draw Things 跑,最新的版本比之前版本优化很多,功耗都降了不少
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   883 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:55 · PVG 04:55 · LAX 13:55 · JFK 16:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.