Aladdin
产品介绍
Aladdin —— Alaya AI addin 是开发者必备的大模型开发利器,为自研的IDE插件,可适配VScode,Cursor等代码开发编辑器。
算力包+Severless架构的强强结合,让开发者无缝使用AlayaNeW云端GPU算力,一键开启大模型的远程开发、调试和微调。成本直降75%,实现开发效率和资源利用率双效提升。
前置条件
使用本地VSCode连接弹性容器集群进行代码开发和调试,需要以下前置条件:
- VSCode安装Aladdin插件, 可在此处下载 Aladdin插件
- 已安装kubectl并连接到弹性容器集群,参考使用指南->弹性容器集群->快速开始
安装扩展
启动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 ln -s /workspace/envs /opt/conda/envs
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镜像,上传到镜像仓库,关于如何上传请参考存储->镜像仓库->镜像仓库的使用
创建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
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
关于下载模型如何加速的详细使用,请参考 工具->模型下载加速
设置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即可