暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

找到一个可以免费薅 4090 羊毛的地方

慢慢学 AIGC 2024-07-01
156

点击下方卡片,关注“慢慢学AIGC

(上图由 Stable Diffusion 3 生成)

缘起


续上篇Stable Diffusion 3 来了!快速体验》。

在 RTX 3060 本地机器上试跑了下 SD3,显存 12 GB 被耗尽,内存被拉来充数,速度不忍直视,生成一张 1024x1024 图片需要超过 20 分钟。生命的意义在于探索新的事物而非等待,因此我需要一张 4090。


GPU 算力云


一个偶然的机会,从朋友那得知厚德云有大量 4090 可以用,于是马上注册体验。官方链接是这个:

https://www.houdeyun.cn/?from=kemanze

厚德云简介:专业的 AI 算力云平台,为用户提供稳定、可靠、易用、省钱的 GPU 算力解决方案。下面是 GPU 算力产品页面:

其中第二个选项即免费体验版,注册并实名认证后,充值 1 元即可领取 6 元体验金,相当于 2 小时免费使用,此外每个账号每天可以领 30 元体验金,可累积使用,总共可领取 7 次,算下来相当于 6+30*7=216 元体验券,免费使用时长 72 小时!可以说相当有诚意了。
整个注册流程相当简洁,使用手机号和验证码即可登录,实名认证可通过支付宝扫码快速验证,大概 5 分钟搞定。

创建体验版 4090 实例


注册成功并充值 1 元后,在首页右上角点击“控制台”

在 GPU 云主机页面,点击第二个卡片“免费体验”创建 NVIDIA 4090 免费版实例。

进入配置页面:

前面保持默认,镜像使用这个 app-sd_webui_20240525,内置了 SD WebUI 的基础环境,可以省去自己搭建环境的麻烦:

创建后需要稍等几分钟,成功后如图所示:

点击右侧“一键连接”,进入 Jupyter 页面。

为了方便操作我们直接选“Terminal”,类似一个 ssh 终端。

开启 venv 环境:

    cd ~
    tar xf sd_webui_data.tar
    cd stable-diffusion-webui/
    source ./venv/bin/activate
    pip install torch==2.1.2 torchvision==0.16.2 --extra-index-url https://download.pytorch.org/whl/cu121
    pip install --upgrade diffusers transformers gradio

    pip 安装速度非常快,已经默认配置过代理加速,详见后面“学术资源加速”一节。

    SD3 简略 WebUI 代码 sd3.py 如下(只支持正向提示词,其他参数均默认):

      import torch
      from diffusers import StableDiffusion3Pipeline
      import gradio as gr




      pipe = StableDiffusion3Pipeline.from_pretrained("stabilityai/stable-diffusion-3-medium-diffusers", torch_dtype=torch.float16)
      pipe = pipe.to("cuda")


      def text2img(text):
      image = pipe(
      text, #"A cat holding a sign that says hello world",
      negative_prompt="",
      num_inference_steps=28,
      guidance_scale=7.0,
      ).images[0]
      return image


      demo = gr.Interface(
      fn=text2img,
      inputs="textbox",
      outputs=gr.Image()
      )


      demo.launch(server_name="0.0.0.0", server_port=8099)

      获取 SD3 权重需要登录 huggingface,使用如下命令:

        huggingface-cli login

        关注公众号,后台回复“SD3” 获取只读 token,复制粘贴到这里即可。厚德云可以自动实现 HuggingFace 权重下载加速,详见后面“学术资源加速”一节。

        执行 python sd3.py,首次运行会下载 SD3 权重,速度还可以。

        程序正常运行后,日志会显示:

          Loading pipeline components...:  11%|█████████████████▏                                                                                                                                         | 1/9 [00:01<00:09,  1.17s/it]You set `add_prefix_space`. The tokenizer needs to be converted from the slow tokenizers
          Loading checkpoint shards: 100%|████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 2/2 [00:00<00:00, 3.47it/s]
          Loading pipeline components...: 100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 9/9 [00:02<00:00, 3.54it/s]
          Running on local URL: http://0.0.0.0:8099

          此时需要将端口映射到公网才能通过网页访问。

          回到控制台 GPU 主机页面,在“更多操作”菜单里选择“自定义端口”,如下图所示

          在添加完成后,再次点击“更多操作”菜单里选择“自定义端口”,查看当前映射情况。如下图所示

          此时可以通过 hgh1.dc.houdeyun.cn:58716(这里只是一个示例,实际端口要看你的控制台真实端口号) 访问云主机上的 WebUI 服务,界面如下:

          其中 prompt 内容为:

            Snow Princess, smooth soft skin, symmetrical, soft lighting, detailed face, concept art, digital painting, looking into camera.

            生成的图片为:

            可见 SD3 生成图像的细节处理相当不错,和 DALL·E 3 接近。文章开头图片也是基于 SD3 生成的。

            SD3 在生成带文字的内容时效果也出奇的好。这点已经超过 DALL·E 3。

            不过,让 SD3 生成躺在沙滩上的人时,会有很诡异的事情发生。图片会引起人不适,暂不放这里,好奇心强的同学可以亲手实验下。 官方解释是训练数据中躺着的人太稀缺导致。

            SD3 在 4090 上的生成速度差不多 4~5 秒一张图(1024x1024 分辨率),相比我本地 3060 快了两个数量级,节省了大量时间。

              100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00,  6.29it/s]
              100%|█████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████| 28/28 [00:04<00:00, 6.30it/s]


              学术资源加速


              为方便用户使用学术资源,厚德云提供了加速代理(这个功能对国内用户而言太有必要了!!!)。如下学术资源地址可以通过本文档中方法配置加速代理拉取,包含如下域名的主域名以及所有二级域名:

              • github.com

              • huggingface.co

              • storage.googleapis.com

              • cloudflarestorage.com

              目前实例已默认开启学术加速,无需额外配置。如果遇到网络问题,使用如下命令关闭代理。

              临时关闭代理

                source network-turbo && proxy_unset

                完全清除代理配置

                  # 重置代理配置
                  network-turbo reset
                  # 关闭代理
                  source network-turbo && proxy_unset

                  检查代理是否已配置

                  您可以使用如下命令检查代理是否配置,如有输出则表示已配置代理。

                    echo $http_proxy $https_proxy

                    最佳实践

                    当不用的时候记得关机、释放资源,这样可以将体验券省下来,需要的时候再开。为了避免每次都从头配置环境,还可以对实例打镜像,下次创建时直接从镜像创建。实测一次镜像时间 20 分钟,而且镜像需要收费,尽量避免把大文件放到镜像里,比如模型权重,可以每次运行时下载,速度也还不错。

                    以上就是薅 4090 羊毛的步骤。手头缺 GPU 的你马上行动起来吧!

                    入口:https://www.houdeyun.cn/?from=kemanze

                    除了 4090,他们家也有 A100, A800, H800 等高端 GPU,适合大规模分布式训练任务,要联系商务开通。这里就不多介绍了。

                    文章转载自慢慢学 AIGC,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论