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

技术

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

picture.image

(上图由 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 算力产品页面:

picture.image

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

picture.image

创建体验版 4090 实例

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

picture.image

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

picture.image

进入配置页面:

picture.image

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

picture.image

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

picture.image

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

picture.image

为了方便操作我们直接选“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
        
      

picture.image

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

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

picture.image

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


          
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 主机页面,在“更多操作”菜单里选择“自定义端口”,如下图所示

picture.image

picture.image

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

picture.image

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

picture.image

其中 prompt 内容为:


        
            

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

生成的图片为:

picture.image

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

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

picture.image

picture.image

picture.image

不过,让 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,适合大规模分布式训练任务,要联系商务开通。这里就不多介绍了。

picture.image

0
0
0
0
关于作者
关于作者

文章

0

获赞

0

收藏

0

相关资源
高性能存储虚拟化方案 NVMe over Fabric 在火山引擎的演进
在云计算中,虚拟化存储扮演着重要角色,其中 iSCSI 协议在业界开放、流行多年。近年来,拥有更优性能的 NVMe over Fabrics 协议也得到了发展。本次分享介绍了 NVMe over Fabrics 在云原生和虚拟化方向的演进工作和成果。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论