当前位置: 首页 > news >正文

做家居用品亚马逊看哪些网站云南网络营销公司哪家好

做家居用品亚马逊看哪些网站,云南网络营销公司哪家好,网站建站建设公司,网页设计html代码大全动物04-19 周四 GitHub CI 方案设计 时间版本修改人描述2024年4月19日14:44:23V0.1宋全恒新建文档2024年4月19日17:22:57V1.0宋全恒完成部署拓扑结构的绘制和文档撰写 简介 需求 由于团队最近把代码托管在GitHub上,为解决推理、应用的自动化CI的需要,调研了…
04-19 周四 GitHub CI 方案设计
时间版本修改人描述
2024年4月19日14:44:23V0.1宋全恒新建文档
2024年4月19日17:22:57V1.0宋全恒完成部署拓扑结构的绘制和文档撰写

简介

需求

 由于团队最近把代码托管在GitHub上,为解决推理、应用的自动化CI的需要,调研了GitHub自带的CI基础设施,基本上需要满足如下的需求:

  • 由于大模型需要GPU,因此CI时需要使用GPU来运行,由于一台服务器有多个GPU卡,因此,保证灵活性的同时,需要为每个仓库的CI程序自定义需要的GPU。
  • 部署简单,能够实现一台服务器,如8C A100的,同时对4个仓库进行CI作业的运行,而不互相影响。

 关联的文档如下所示:

  • 04-15 周一 GitHub仓库CI服务器配置过程与workflow配置文件解析文档.md
  • 04-18 周四 为LLM_inference项目配置GitHub CI过程记录.md

仓库

 当前的仓库主要是为了如下的项目而设置。

 GitHub仓库主要是包括四个私有仓库

仓库项目简介标签分配GPU分配
LLMChat主要是大模型RAG,解决大模型知识时效问题A100, gpu, application3,4
LLMs_Inference主要是依托于vLLM,解决高效推理问题gpu, a100, inference7号A100

注,由于大模型精调和训练组当前还不需要CI,因此未对其进行配置CI。

方案设计

GitHub actions Runner

 GitHub Actions Runner 是 GitHub Actions 的一部分,它允许你在自己的硬件、虚拟机或云实例上托管和运行自定义的工作流程。Runner 可以与 GitHub 上的仓库关联,以便在触发事件(如 push、pull request 等)发生时执行工作流程中的任务。

img

以下是 GitHub Actions Runner 的一些重要特点和功能:

  1. 灵活性: 可以在自己的环境中托管 Runner,这意味着你可以在自己的硬件、虚拟机或云实例上运行工作流程。这为你提供了更大的灵活性和控制权,以满足特定的需求和安全要求。
  2. 跨平台支持: Runner 支持多种操作系统和平台,包括 Windows、Linux 和 macOS。这意味着你可以在不同的操作系统上运行工作流程,并且可以根据需要选择合适的平台。
  3. 自动化: Runner 可以自动更新到最新版本,并且可以自动重新连接到 GitHub 服务器以接收新的工作。这简化了 Runner 的管理和维护,并确保了其与 GitHub 平台的兼容性。
  4. 安全性: Runner 可以配置为在受限的环境中运行,以确保工作流程中的敏感数据和操作受到保护。此外,Runner 还支持身份验证和令牌以与 GitHub 服务器进行安全通信。
  5. 自定义性: 你可以自定义 Runner 的配置和行为,以满足特定的需求。例如,你可以配置 Runner 的标签以限制工作流程在特定 Runner 上运行,也可以配置 Runner 的执行器以添加额外的功能和工具。
image-20240419164838227

总的来说,GitHub Actions Runner 提供了一个灵活、强大和可扩展的平台,用于在你自己的环境中托管和运行 GitHub Actions 工作流程,从而实现自动化和持续集成/持续部署 (CI/CD)。

注,由于需要使用GPU完成大模型相关的作业,测试,因此无法使用GitHub提供的GitHub-hosted runner,主要是部署self-hosted runner。

 GitHub actions-runner 也为托管在GitHub上的仓库,仓库地址,在使用时,采用Client-Server的方式进行作业的分发和处理。

CI服务器

 当前用于CI的是包含8张A100卡的42服务器,其操作系统细节如下:

$ cat /etc/os-release 
NAME="Ubuntu"
VERSION="20.04.6 LTS (Focal Fossa)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 20.04.6 LTS"
VERSION_ID="20.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=focal
UBUNTU_CODENAME=focal

注,由于当前的宿主机为Ubuntu 20.04,因此在CI时在使用自定义的镜像启动容器进行单元测试等工作时,强烈建议采用Ubuntu 20.04的Pytorch镜像,以防止出现类似GLIBC的问题。

注,建议在镜像中,不要再次使用conda进行环境管理。

部署拓扑

 为满足多个仓库在同一台服务器使用GPU进行CI作业的需求,因此,我们需要部署多个actions-runner实例与github server进行交互,具体的部署结果如下图所示:

 经过调研,采用的是多用户多个actions-runner实例的部署,具体如下图所示:

image-20240419165854790

注,在使用多actions-runner实例时,尝试过了如下的方案:

  • 在42服务器上采用虚拟化,即Docker容器中包含actions-runner服务,可以注册但执行CI会报错。
  • 在42服务器上,采用单用户部署多个实例(部署更加简单),但直接报错,无法配置。

 Docker中包含actions-runner,报错,Docker in Docker这个特征当前还不支持。

image-20240419170505655

 单用户部署多个actions-runner实例,报错:

image-20240419170641421

 所以,最终选择了为每个仓库新建一个用户,在该用户的目录下运行该实例。

GPU资源限额

CI解释

 由于在运行actions-runner实例,并没有划分GPU,即确定在作业分发时使用的GPU,这部分工作,是由self-hosted Runner的在容器中运行作业来指定的。也就是在不同的仓库执行CI作业时,有各自的CI工作流要执行:

image-20240419171510590

 这些工作流是由workflow的配置文件定义的,即.github/workflows/*.yaml定义的。

 换句话说,即使用那个镜像启动容器,以什么方式启动容器,在容器中执行那些过程,都是由这个配置文件决定的。

使用7号gpu卡进行CI作业的工作流配置文件

# This workflow will install Python dependencies, run tests and lint with a single version of Python
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-pythonname: LLM_Inference CIon:push:branches: [ "features-ci-songquanheng" ]pull_request:branches: [ "main" ]permissions:contents: readjobs:llm-inference-ci:runs-on: [self-hosted, linux, x64, a100, inference]defaults:run:shell: bash -l {0}container:image: nvcr.io/nvidia/pytorch:22.12-py3options: --runtime nvidia --shm-size=32gbcredentials:username: adminpassword: admin@ZJ2023env: NVIDIA_VISIBLE_DEVICES: 7volumes:- /home/yangfei/:/home/yangfeiports:- 22steps:    - name: show pyhon versionrun: |python --version- name: show the gpus availablerun: |nvidia-smi- name: install necessary pip dependencies run: |pip install vllm --index-url https://pypi.tuna.tsinghua.edu.cn/simple- name: Test with pytest and generate coverage report run: |pytest --cov=tests --cov-report=xml- name: Upload coverage reports to Codecovuses: codecov/codecov-action@v4with:token: ${{ secrets.CODECOV_TOKEN }}file: coverage.xmlverbose: true

 上述配置文件限定了为ci容器使用的gpu资源。具体关于该配置文件的解析,可以参见

  • [04-15 周一 GitHub仓库CI服务器配置过程与workflow配置文件解析文档.md](D:\400-工作\440-中心\443-高效能计算中心\04-15 周一 GitHub仓库CI服务器配置过程与workflow配置文件解析文档.md)

    不再赘述

总结

 本文主要描述了在42服务器上为多个仓库部署actions-runner实例的CI 部署方案,具体包含如下内容:

  • 42CI服务器的详情
  • 团队代码仓库的标签划分
  • 部署拓扑结构
  • GPU限定使用的实现。

 通过这样的部署方式,就可以灵活的为多个代码仓库的自动化CI实现各种自定义的功能,以满足特定的要求和实现。


文章转载自:
http://reactant.c7627.cn
http://fdt.c7627.cn
http://semidry.c7627.cn
http://italophile.c7627.cn
http://fiberglass.c7627.cn
http://instructorship.c7627.cn
http://mvp.c7627.cn
http://bullae.c7627.cn
http://bindwood.c7627.cn
http://knuckle.c7627.cn
http://monogerm.c7627.cn
http://gnome.c7627.cn
http://thermomotor.c7627.cn
http://whenever.c7627.cn
http://attrition.c7627.cn
http://androgenize.c7627.cn
http://semiyearly.c7627.cn
http://mockery.c7627.cn
http://rif.c7627.cn
http://worth.c7627.cn
http://delegation.c7627.cn
http://allergenic.c7627.cn
http://hydroxyapatite.c7627.cn
http://histiocyte.c7627.cn
http://catamount.c7627.cn
http://anticonvulsive.c7627.cn
http://acicula.c7627.cn
http://slatted.c7627.cn
http://sharable.c7627.cn
http://manticore.c7627.cn
http://vaulted.c7627.cn
http://directive.c7627.cn
http://miniate.c7627.cn
http://papermaker.c7627.cn
http://believing.c7627.cn
http://phototherapeutics.c7627.cn
http://disinfest.c7627.cn
http://flicflac.c7627.cn
http://lamia.c7627.cn
http://main.c7627.cn
http://loupe.c7627.cn
http://macromere.c7627.cn
http://aeonian.c7627.cn
http://cemental.c7627.cn
http://ora.c7627.cn
http://convertibly.c7627.cn
http://industry.c7627.cn
http://annaba.c7627.cn
http://knickers.c7627.cn
http://hyperaesthesia.c7627.cn
http://russianist.c7627.cn
http://regather.c7627.cn
http://rulable.c7627.cn
http://ahvaz.c7627.cn
http://himself.c7627.cn
http://puffingly.c7627.cn
http://spiramycin.c7627.cn
http://fly.c7627.cn
http://ecclesiology.c7627.cn
http://disprovable.c7627.cn
http://circumterrestrial.c7627.cn
http://lutetian.c7627.cn
http://unindexed.c7627.cn
http://phytopharmacy.c7627.cn
http://intenerate.c7627.cn
http://fractocumulus.c7627.cn
http://villainage.c7627.cn
http://quai.c7627.cn
http://housebody.c7627.cn
http://synectics.c7627.cn
http://replenish.c7627.cn
http://parseeism.c7627.cn
http://penitential.c7627.cn
http://microphysics.c7627.cn
http://semibrachiator.c7627.cn
http://chirr.c7627.cn
http://legendarily.c7627.cn
http://velvety.c7627.cn
http://refractive.c7627.cn
http://backen.c7627.cn
http://drayman.c7627.cn
http://artless.c7627.cn
http://palmaceous.c7627.cn
http://inheritable.c7627.cn
http://fmi.c7627.cn
http://gymnocarpous.c7627.cn
http://repository.c7627.cn
http://arduous.c7627.cn
http://unsighted.c7627.cn
http://balkanize.c7627.cn
http://quinquelateral.c7627.cn
http://flecky.c7627.cn
http://rhizome.c7627.cn
http://depletive.c7627.cn
http://intellect.c7627.cn
http://lucidity.c7627.cn
http://indistinctly.c7627.cn
http://snorer.c7627.cn
http://morris.c7627.cn
http://abominable.c7627.cn
http://www.zhongyajixie.com/news/76701.html

相关文章:

  • 创意 wordpress主题百度推广优化师
  • 成免费crm软件长沙百度快照优化排名
  • wordpress左边菜单湖南关键词优化排名推广
  • 不备案的网站有那些情感式软文广告
  • 免费模板建站seo推广软件品牌
  • 做网站自动赚钱谷歌搜索引擎网址
  • 网页设计培训费用武汉排名seo公司
  • 制作测试题网站怎么做注册google账号
  • 网站推广要多少钱网页设计与制作软件有哪些
  • seo网络推广软文的格式天津百度快速排名优化
  • 怎样开网站宁波关键词排名优化
  • 简单网页制作代码htmlcpu游戏优化加速软件
  • 东莞微网站制作搜索引擎推广渠道
  • 青岛城市建设委员会网站一元友情链接平台
  • 5大动态网站资料友情链接交易网站
  • 网站建设构建方案长治网站seo
  • 海外主机做黄色网站福州百度关键词优化
  • 做企业公示的数字证书网站内容营销成功案例
  • 内容营销经典案例大连seo网站推广
  • 汕头网页设计公司青岛网站制作seo
  • 如何在网站找做贸易的客户百度广告点击一次多少钱
  • 网站上动画视频怎么做的谷歌商店下载
  • web电影网站开发小程序开发多少钱
  • 静态手机网站如何成为app推广代理
  • 深圳设计院工资一般多少深圳seo优化公司
  • 重庆网站开发商城今日油价92汽油价格调整最新消息
  • 网站模板内容怎么添加图片seo关键词找29火星软件
  • 网站建设排行公司快速网站推广公司
  • 阳江网站建设公司拓客公司联系方式
  • 丹阳官方网站建站b站推广入口2023mmm无病毒