Aladdin
产品介绍
Aladdin —— Alaya AI addin 是开发者必备的大模型开发利器,为自研的IDE插件,可适配VScode,Cursor等代码开发编辑器。
算力包+Severless架构的强强结合,让开发者无缝使用AlayaNeW云端GPU算力,一键开启大模型的远程开发、调试和微调。成本直降75%,实现开发效率和资源利用率双效提升。
前置条件
使用本地VSCode连接弹性容器集群进行代码开发和调试,需要以下前置条件:
- VSCode安装Aladdin插件, 可在此处下载 Aladdin插件
- 已安装kubectl并连接到弹性容器集群,参考使用指南->弹性容器集群->快速开始
- 安装chrome浏览器
安装扩展
启动VSCode,点击左侧菜单栏的扩展标签,将下载好的Aladdin.vsix文件拖入VSCode的扩展安装窗口,完成安装

安装完成后会出现Aladdin插件的图标,点击图标,会出现Aladdin的菜单栏,如下图:

共有两个功能区WORKSHOP 和ENVIRONMENTS
- WORKSHOP: 管理开发环境,包括创建、启动、停止、删除等。
- ENVIRONMENTS: 用于管理镜像仓库,
登录
点击登录,弹出AlayaNeW登录页面,输入用户名和密码,点击登录按钮。


登录成功后,会显示当前登录用户的个人信息。
在ENVIRONMENTS看到镜像列表,并设置Habor账号密码

build镜像
如果有镜像可以忽略此步骤
Dockerfile 示例
FROM swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/pytorch/pytorch:2.5.1-cuda12.4-cudnn9-devel
ARG DEBIAN_FRONTEND=noninteractive
ENV TZ=Asia/Shanghai
RUN sed -i 's|http://ports.ubuntu.com|https://mirrors.tuna.tsinghua.edu.cn|g' /etc/apt/sources.list
RUN apt update -y && \
apt install -y curl wget
WORKDIR /root
RUN mkdir ~/.pip
RUN echo "[global]" > ~/.pip/pip.conf
RUN echo "index-url = https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple" >> ~/.pip/pip.conf
RUN echo "[install]" >> ~/.pip/pip.conf
RUN echo "trusted-host=mirrors.tuna.tsinghua.edu.cn" >> ~/.pip/pip.conf
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
ENV TIME_ZONE Asia/Shanghai
RUN apt-get update && apt-get install tzdata -y && apt-get install openssh-server -y
RUN apt-get update && apt-get install -y vim telnet iputils-ping unzip
RUN mkdir -p /workspace/envs
RUN rm -rf /opt/conda/envs
RUN rm -rf /tmp
RUN ln -s /workspace/envs /opt/conda/envs
RUN ln -s /workspace/tmp /tmp
RUN ln -s /opt/conda/etc/profile.d/conda.sh /etc/profile.d/conda.sh
ENV PATH /opt/conda/bin:$PATH
RUN /opt/conda/bin/conda init bash --system && \
echo ". /opt/conda/etc/profile.d/conda.sh" >> /etc/profile && \
echo "conda activate base" >> /etc/profile && \
conda info --envs
RUN apt-get install pip -y
build镜像,上传到镜像仓库,关于如何上传请参考存储->镜像仓库->镜像仓库的使用
弹性容器集群中Pod中安装软件所占用磁盘不能超过8GB,所以需要将容器内大文件安装挂载到存储,如/tmp, conda/envs等。
- Dockerfile中需要安装openssh-server,如您使用其他基础镜像使用Aladdin,需安装此软件
- Dockerfile中将conda虚拟环境做了映射到workspace/envs中,启动容器时持久化/workspace即可
- Dockerfile中设置了/tmp的软连接到/workspace/tmp,启动容器时持久化/workspace即可
创建workshop
点击创建workshop,会弹出创建workshop的窗口
- 输入workshop名称
- Enviromnent中选择镜像,
- 配置资源,如需使用GPU可以选择GPU资源
- 选择弹性容器集群
- 选择namespace
- 添加环境变量
- 添加挂载,可挂载存储内任意文件夹到容器中,可以是编写好的代码

- 启动workshop时默认会将容器内的/root通过存储挂载,但是需要注意的是workshop删除后/root下存储的数据也会删除,重启workshop则不会删除
- 添加的使用pvc的挂载删除和重启workshop均不删除挂载的数据
提交后等待启动成功即可

右键打开workshop

接下来会自动打开一个新的vscode窗口,连接进入到workshop中,并下载vscode相关插件,等待插件安装完成,会看到aladdin的图标

如果没有自动打开新的vscode窗口,可以右键点击workshop,手动打开

如果打开了vscode窗口,没有看到aladdin的图标,可以右键点击workshop 手动安装

环境准备
打开工作目录/workspace即可开始开发, 在这里下载编写好的代码训练,直接拖到vscode中 示例代码

打开命令行执行以下命令配置环境
mkdir /workspace/envs
mkdir /tmp
conda init
#再次打开一个命令行窗口
conda create -n py311 python=3.11 -y
conda activate py311
pip install -r requirement.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
根据弹性容器集群所在的智算中心选择执行以下命令下载模型
- 北京一区
- 北京二区
- 北京三区
# 使用北京一区下载
export HF_ENDPOINT=http://hfmirror.mas.zetyun.cn:8082
huggingface-cli download --resume-download meta-llama/Meta-Llama-3-8B-Instruct \
--local-dir meta-llama/Meta-Llama-3-8B-Instruct
# 使用北京二区下载
export HF_ENDPOINT=http://hfmirrora01.hd-02.zetyun.cn:8082
huggingface-cli download --resume-download meta-llama/Meta-Llama-3-8B-Instruct \
--local-dir meta-llama/Meta-Llama-3-8B-Instruct
# 使用北京三区下载
export HF_ENDPOINT=http://hfmirror-1.hd-03.zetyun.cn:8082
huggingface-cli download --resume-download meta-llama/Meta-Llama-3-8B-Instruct \
--local-dir meta-llama/Meta-Llama-3-8B-Instruct
关于下载模型如何加速的详细使用,请参考 工具->模型下载加速
设置python解释器

选择虚拟环境

GPU RUN
选择要运行的py文件右键选择GPU RUN

选择镜像和需要的GPU资源

在OUTPUT中可以看到运行的日志

GPU DEBUG
选择要调试的py文件右键选择GPU DEBUG

选择镜像和需要的GPU资源

在DEBUG COMSOLE中可以看到调试的日志,断点调试等

点击关闭debug按钮两次即可退出调试,停止计费

RUN shell
选择要运行的shell脚本右键选择RUN shell

选择镜像和需要的GPU资源

在OUTPUT中可以看到运行的日志

查看 session
GPU RUN 和 RUN shell 以及 GPU DEBUG 都会产生一个session,点击GPU Debug 插件图标,可以查看session的列表,删除session,展示session日志,使用session命令行等
如果您有一个任务需要run很长时间,可直接关闭当前vscode,再次打开时仅需在session列表中找到,点击show log即可重新将日志输出到VSCode的OUTPUT中

保存镜像
操作过程中如果在容器中安装了一些包,未放在持久化目录,可以点击保存镜像按钮,会弹出保存镜像的窗口,输入镜像名称,点击保存按钮即可保存镜像

镜像保存成功后会提示是否需要使用保存的镜像替换当前workshop,如果需要点击yes,不需要no即可

FAQ
- 使用Aladdin能否使用其他镜像?
可以使用,需您的镜像中包含openssh-server软件
- pip 安装软件报错"ephemeral local storage usage exceeds the total limit of containers 8Gi" 导致容器重启问题?
将conda 虚拟环境安装到/workspace/envs目录下,启动容器时持久化/workspace即可解决此问题
- 登录失败导致镜像刷新不出来问题?
确认是否开启了代理,如果没有,则由于token过期导致,退出登录后,重启VScode重新登录即可
- 容器中使用apt-get安装软件,GPU RUN或者 Debug 以及RUN shell 失败问题?
GPU RUN 和 RUN shell 以及 GPU DEBUG 都会产生一个session,会使用当前workshop的镜像(也可更改)创建新Pod, 故在workshop中使用apt-get安装软件后,需要使用保存镜像功能保存后,替换当前workshop的镜像