From 0ae68007c0b91da9586580a674f61a3eb7b32e14 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Thu, 27 Jun 2024 15:52:36 +0800 Subject: [PATCH 1/5] xfastertransformer: add initial support. --- AI/xfastertransformer/1.7.3/23/Dockerfile | 31 ++++++++++++++++++++ AI/xfastertransformer/README.md | 31 ++++++++++++++++++++ AI/xfastertransformer/buildspec.yml | 35 +++++++++++++++++++++++ AI/xfastertransformer/version.yml | 14 +++++++++ 4 files changed, 111 insertions(+) create mode 100644 AI/xfastertransformer/1.7.3/23/Dockerfile create mode 100644 AI/xfastertransformer/README.md create mode 100644 AI/xfastertransformer/buildspec.yml create mode 100644 AI/xfastertransformer/version.yml diff --git a/AI/xfastertransformer/1.7.3/23/Dockerfile b/AI/xfastertransformer/1.7.3/23/Dockerfile new file mode 100644 index 0000000..db47822 --- /dev/null +++ b/AI/xfastertransformer/1.7.3/23/Dockerfile @@ -0,0 +1,31 @@ + +FROM registry.openanolis.cn/openanolis/anolisos:23 + +LABEL \ + maintainer="OpenAnolis AI SIG" \ + org.opencontainers.image.title="xfastertransformer" \ + org.opencontainers.image.version="1.7.3-23" + +RUN dnf install anolis-epao-release -y +RUN dnf install -y wget numactl python3-pip git vim level-zero-devel +RUN pip3 install --no-cache-dir torch==2.3.1 --index-url https://download.pytorch.org/whl/cpu +RUN pip3 install --no-cache-dir transformers==4.41.2 sentencepiece==0.1.99 accelerate==0.23.0 protobuf==4.25.3 tiktoken==0.6.0 +RUN pip3 install --no-cache-dir xfastertransformer==1.7.3 +RUN pip3 install --no-cache-dir vllm-xft==0.4.2.1 + +RUN echo $'\ +[oneAPI]\n\ +name=Intel(R) oneAPI repository\n\ +baseurl=https://yum.repos.intel.com/oneapi\n\ +enabled=1\n\ +gpgcheck=1\n\ +repo_gpgcheck=1\n\ +gpgkey=https://yum.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-PRODUCTS.PUB' \ +> /etc/yum.repos.d/oneAPI.repo + +RUN dnf install -y intel-oneapi-ccl-2021.10.0 intel-oneapi-compiler-dpcpp-cpp-runtime-2023.2.1 + +RUN echo 'source /opt/intel/oneapi/setvars.sh' >> /root/.bashrc +RUN echo "export \$(python -c 'import xfastertransformer as xft; print(xft.get_env())')" >> ~/.bashrc + +CMD ["/bin/bash"] \ No newline at end of file diff --git a/AI/xfastertransformer/README.md b/AI/xfastertransformer/README.md new file mode 100644 index 0000000..29117b7 --- /dev/null +++ b/AI/xfastertransformer/README.md @@ -0,0 +1,31 @@ +# xFasterTransformer + +# Quick reference + +- Maintained by: [OpenAnolis AI SIG](https://openanolis.cn/sig/AI_SIG) +- Where to get help: [OpenAnolis AI SIG](https://openanolis.cn/sig/AI_SIG) + +# Supported tags and respective `Dockerfile` links + +- [`1.7.3-23`](https://gitee.com/anolis/anolis-container/tree/master/AI/xfastertransformer/1.7.3/23/Dockerfile) + +# Supported architectures + +- x86-64 + +# Build reference + +## Build multi-arch images and push to registry: +```shell +docker buildx build -t "openanolis/xfastertransformer:$VERSION" --platform linux/amd64 . --push +``` + +# Usage + +## Start a xFasterTransformer instance +```shell +docker run --name xfastertransformer-test openanolis/xfastertransformer:1.7.3-23 +``` + +# xFasterTransformer +xFasterTransformer is an exceptionally optimized solution for large language models (LLM) on the X86 platform, which is similar to FasterTransformer on the GPU platform. xFasterTransformer is able to operate in distributed mode across multiple sockets and nodes to support inference on larger models. Additionally, it provides both C++ and Python APIs, spanning from high-level to low-level interfaces, making it easy to adopt and integrate. diff --git a/AI/xfastertransformer/buildspec.yml b/AI/xfastertransformer/buildspec.yml new file mode 100644 index 0000000..2e5533d --- /dev/null +++ b/AI/xfastertransformer/buildspec.yml @@ -0,0 +1,35 @@ +name: &NAME +version: &VERSION +image_type: &IMAGE_TYPE +baseos_version: &BASEOS_VERSION + +# 定义镜像仓库信息 +repository_info: + dockerhub: &DOCKERHUB_PROD + acr: &ACR_PROD anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis + +# 定义镜像测试信息 +t-one: + # 配置测试信息 workspace 和模版 + workspace: &WORKSPACE container_ci_test + project: &PROJECT default_container_ci_test + test_suite: &TEST_SUITE image-ci-test + # 执行测试 case, 多个用数组表示 + test_conf: &TEST_CONF group=ai_container + test_case: &TEST_CASE pytorch_ai_container + cloud_server_tag: &CLOUD_SERVER_TAG [anolis-container-ci-x86] + +# 构建镜像配置 +images: + # 分组名称,支持自定义 + BuildxFasterTransformerDockerImage: + # 定义是否构建参数 + build: true + docker_file: + path: AI/xfastertransformer/1.7.3/23/Dockerfile + scene: + args: [] + tags: [1.7.3-23] + registry: [*ACR_PROD] + # 测试配置 + test_config: [*WORKSPACE, *PROJECT, *TEST_SUITE, *TEST_CONF, *TEST_CASE, *CLOUD_SERVER_TAG[0], ''] diff --git a/AI/xfastertransformer/version.yml b/AI/xfastertransformer/version.yml new file mode 100644 index 0000000..f51c5eb --- /dev/null +++ b/AI/xfastertransformer/version.yml @@ -0,0 +1,14 @@ +# 版本关系依赖表,默认继承 version-base.yml 配置,可重写覆盖 +BaseDependency: ../version-base.yml +Dependency: + name: xfastertransformer + # training 训练类, inference 推理类 + image_type: inference + versions: + 1.7.3: + # 对 AI 框架版本对 python 版本的要求 + python_version: [] + # gpu 对 cuda 版本的要求 + cuda_version: [] + # 对 baseos 的要求,*AnolisOS8.6 表示 Anolis8.6 + baseos_version: [*AnolisOS23] \ No newline at end of file -- Gitee From 38acc97a403879aff8d1b0b28271d1a617341d07 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Wed, 3 Jul 2024 17:49:20 +0800 Subject: [PATCH 2/5] add xft src code. --- AI/xfastertransformer/1.7.3/23/Dockerfile | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/AI/xfastertransformer/1.7.3/23/Dockerfile b/AI/xfastertransformer/1.7.3/23/Dockerfile index db47822..9fdd73d 100644 --- a/AI/xfastertransformer/1.7.3/23/Dockerfile +++ b/AI/xfastertransformer/1.7.3/23/Dockerfile @@ -11,7 +11,7 @@ RUN dnf install -y wget numactl python3-pip git vim level-zero-devel RUN pip3 install --no-cache-dir torch==2.3.1 --index-url https://download.pytorch.org/whl/cpu RUN pip3 install --no-cache-dir transformers==4.41.2 sentencepiece==0.1.99 accelerate==0.23.0 protobuf==4.25.3 tiktoken==0.6.0 RUN pip3 install --no-cache-dir xfastertransformer==1.7.3 -RUN pip3 install --no-cache-dir vllm-xft==0.4.2.1 +RUN pip3 install --no-cache-dir vllm-xft==0.4.2.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ RUN echo $'\ [oneAPI]\n\ @@ -28,4 +28,8 @@ RUN dnf install -y intel-oneapi-ccl-2021.10.0 intel-oneapi-compiler-dpcpp-cpp-ru RUN echo 'source /opt/intel/oneapi/setvars.sh' >> /root/.bashrc RUN echo "export \$(python -c 'import xfastertransformer as xft; print(xft.get_env())')" >> ~/.bashrc +WORKDIR /root/ + +RUN git clone --depth 1 -b v1.7.3 https://github.com/intel/xFasterTransformer.git + CMD ["/bin/bash"] \ No newline at end of file -- Gitee From e74d498f59c28dd2e41a8a26e0e1bd28370427b4 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Thu, 4 Jul 2024 16:10:04 +0800 Subject: [PATCH 3/5] update platform. --- AI/xfastertransformer/1.7.3/23/Dockerfile | 2 +- AI/xfastertransformer/buildspec.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/AI/xfastertransformer/1.7.3/23/Dockerfile b/AI/xfastertransformer/1.7.3/23/Dockerfile index 9fdd73d..c3addc4 100644 --- a/AI/xfastertransformer/1.7.3/23/Dockerfile +++ b/AI/xfastertransformer/1.7.3/23/Dockerfile @@ -11,7 +11,7 @@ RUN dnf install -y wget numactl python3-pip git vim level-zero-devel RUN pip3 install --no-cache-dir torch==2.3.1 --index-url https://download.pytorch.org/whl/cpu RUN pip3 install --no-cache-dir transformers==4.41.2 sentencepiece==0.1.99 accelerate==0.23.0 protobuf==4.25.3 tiktoken==0.6.0 RUN pip3 install --no-cache-dir xfastertransformer==1.7.3 -RUN pip3 install --no-cache-dir vllm-xft==0.4.2.1 -i https://pypi.mirrors.ustc.edu.cn/simple/ +RUN pip3 install --no-cache-dir vllm-xft==0.4.2.2 RUN echo $'\ [oneAPI]\n\ diff --git a/AI/xfastertransformer/buildspec.yml b/AI/xfastertransformer/buildspec.yml index 2e5533d..8f7f526 100644 --- a/AI/xfastertransformer/buildspec.yml +++ b/AI/xfastertransformer/buildspec.yml @@ -25,6 +25,7 @@ images: BuildxFasterTransformerDockerImage: # 定义是否构建参数 build: true + platform: [linux/amd64] docker_file: path: AI/xfastertransformer/1.7.3/23/Dockerfile scene: -- Gitee From 9430a050b6e745888aca6e72f4b72446eaf01524 Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Fri, 5 Jul 2024 09:59:45 +0800 Subject: [PATCH 4/5] update mirror --- AI/xfastertransformer/1.7.3/23/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/AI/xfastertransformer/1.7.3/23/Dockerfile b/AI/xfastertransformer/1.7.3/23/Dockerfile index c3addc4..eaceaa2 100644 --- a/AI/xfastertransformer/1.7.3/23/Dockerfile +++ b/AI/xfastertransformer/1.7.3/23/Dockerfile @@ -11,7 +11,7 @@ RUN dnf install -y wget numactl python3-pip git vim level-zero-devel RUN pip3 install --no-cache-dir torch==2.3.1 --index-url https://download.pytorch.org/whl/cpu RUN pip3 install --no-cache-dir transformers==4.41.2 sentencepiece==0.1.99 accelerate==0.23.0 protobuf==4.25.3 tiktoken==0.6.0 RUN pip3 install --no-cache-dir xfastertransformer==1.7.3 -RUN pip3 install --no-cache-dir vllm-xft==0.4.2.2 +RUN pip3 install --no-cache-dir vllm-xft==0.4.2.2 -i https://pypi.mirrors.ustc.edu.cn/simple/ RUN echo $'\ [oneAPI]\n\ -- Gitee From 862fd6e5d45f741b3550d846abd0fefa1456100f Mon Sep 17 00:00:00 2001 From: Duyi-Wang Date: Fri, 5 Jul 2024 15:17:24 +0800 Subject: [PATCH 5/5] rm vllm-xft --- AI/xfastertransformer/1.7.3/23/Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/AI/xfastertransformer/1.7.3/23/Dockerfile b/AI/xfastertransformer/1.7.3/23/Dockerfile index eaceaa2..6b32330 100644 --- a/AI/xfastertransformer/1.7.3/23/Dockerfile +++ b/AI/xfastertransformer/1.7.3/23/Dockerfile @@ -11,7 +11,6 @@ RUN dnf install -y wget numactl python3-pip git vim level-zero-devel RUN pip3 install --no-cache-dir torch==2.3.1 --index-url https://download.pytorch.org/whl/cpu RUN pip3 install --no-cache-dir transformers==4.41.2 sentencepiece==0.1.99 accelerate==0.23.0 protobuf==4.25.3 tiktoken==0.6.0 RUN pip3 install --no-cache-dir xfastertransformer==1.7.3 -RUN pip3 install --no-cache-dir vllm-xft==0.4.2.2 -i https://pypi.mirrors.ustc.edu.cn/simple/ RUN echo $'\ [oneAPI]\n\ -- Gitee