随笔分类 -  AIOps

摘要:vLLM是一个开源的大模型推理加速框架,通过PagedAttention高效地管理attention中缓存的张量,实现了比HuggingFace Transformers高14-24倍的吞吐量,就像在操作系统中管理CPU虚拟内存一样 NVIDIA FasterTransformer (FT) 是一个 阅读全文
posted @ 2024-03-20 11:20 muzinan110 编辑
摘要:思路 目前大模型推理加速技术栈大体可以分成三层(从低到高): 线性代数计算库,cuBLAS、Eigen、Intel MKL、ARM Compute Library等,其中定义了矩阵乘法、矩阵和向量乘法等数十个标准函数。线性代数层的加速主要依赖以下优化: GPU多核计算能力:通过调用CUDA、Open 阅读全文
posted @ 2024-03-02 10:26 muzinan110 编辑
摘要:思路 对于模型的每10亿个参数,需要6GB的内存(使用16位半精度)来加载和训练模型。请记住,内存大小只是训练故事的一部分。完成预训练所需的时间也是另一个重要部分。举个例子,最小的 Llama2 模型(Llama2 7B)具有70亿个参数,它花费了184320 GPU 小时才完成训练。 首先要弄清楚 阅读全文
posted @ 2024-03-02 10:20 muzinan110 编辑
摘要:前言 LLM 不管是 GPT 还是 BERT,有且只有一个核心功能,就是预测你给定的语句的下一个词最有可能是什么(靠Prompt激发),除此之外的工作,比如解析 PDF、比如对话式搜索、甚至拿过来一个大任务分解、创建子任务,最终完成,都需要有一整套的工具来把核心功能包装,便于开发人员搭积木,这个工具 阅读全文
posted @ 2024-03-02 10:14 muzinan110 编辑
摘要:在OpenAI的GPT,Meta的Llama和Google的BERT等大型语言模型(LLM)发布之后,它们可以生成类似人类的文本,理解上下文并执行广泛的自然语言处理(NLP)任务。LLM将彻底改变我们构建和维护人工智能系统和产品的方式。因此,一种被称为“LLMOps”的新方法已经发展并成为每个AI 阅读全文
posted @ 2024-03-02 10:09 muzinan110 阅读(80) 评论(0) 推荐(0) 编辑
摘要:分布式计算框架Ray 当我们要构建一个涉及大规模数据处理或者复杂计算的应用,传统的方式是使用现成的大数据框架,例如 Apache Flink 和 Apache Spark。这些系统提供的API通常基于某种特定的计算范式(例如DataStream、DataSet),要求用户基于这些特定的计算范式实现应 阅读全文
posted @ 2024-02-25 09:36 muzinan110 阅读(213) 评论(0) 推荐(0) 编辑
摘要:下图展示了 Koordinator 系统的整体架构和各组件的角色分工,其中绿色部分描述了 K8s 原生系统的各个组件,蓝色部分是 Koordinator 在此基础上的扩展实现。从整个系统架构来看,我们可以将 Koordinator 分为中心管控和单机资源管理两个维度。在中心侧,Koordiantor 阅读全文
posted @ 2024-02-25 09:35 muzinan110 阅读(239) 评论(0) 推荐(0) 编辑
摘要:架构 - Queue - Queue是容纳一组PodGroup的队列,也是PodGroup获取集群资源的划分依据。 - PodGroup - PodGroup是一组强关联的pod,对应批处理workload。 - VolcanoJob - VolcanoJob(vcjob)是自定义的Job资源类型, 阅读全文
posted @ 2024-02-25 09:31 muzinan110 阅读(743) 评论(0) 推荐(0) 编辑
摘要:Kubeflow核心组件 notebook(JupyterHub) - 大多数项目的第一步是某种形式的原型设计和实验。Kubeflow用于原型设计和实验的工具是JupyterHub(https://jupyter.org/hub),这是一个多用户中心,可以生成、管理和代理单用户Jupyter not 阅读全文
posted @ 2024-02-25 09:21 muzinan110 阅读(316) 评论(0) 推荐(0) 编辑
摘要:TensorFlow,这是个很形象的比喻,意思是 张量(Tensor)在神经网络中流动(Flow)。 在数学中,张量是一种几何实体(对应的有一个概念叫矢量),广义上可以表示任何形式的数据。在NumPy等数学计算库或TensorFlow等深度学习库中,我们通常使用多维数组来描述张量,所以不能叫做矩阵, 阅读全文
posted @ 2024-02-25 09:17 muzinan110 阅读(30) 评论(0) 推荐(0) 编辑
摘要:架构 Horovod主要由数据通信层、通信控制层、深度学习框架接口层、启动层四部分组成。其中启动层通过horovodrun或mpirun启动训练进程,之后每个训练进程通过调用TensorFLow、PyTorch、MXNet等框架(python train.py)进行单个结点的数据输入、参数更新,在每 阅读全文
posted @ 2024-02-25 09:12 muzinan110 阅读(69) 评论(0) 推荐(0) 编辑
摘要:Fluid 系统架构 Fluid 是构建在 K8s 上的系统,对原生 K8s 具备良好的兼容性,无需修改任意代码。如上图所示,用户需要定义两个 CRD,分别是 Dataset 和 Runtime。Dataset 是数据集的通用定义,这是我们提供的 K8s 资源对象,需要写 YAML 文件来定义数据集 阅读全文
posted @ 2024-02-25 09:07 muzinan110 阅读(272) 评论(0) 推荐(0) 编辑
摘要:在Kubernetes的标准框架里,容器是只有1个网络平面的。即容器里面,只有1个eth0网卡。所以无论是利用overlay实现容器隧道网络,还是underlay实现容器网络直通,其目的都是解决容器网络“通与不通”的问题。 而大规模AI集群中,百亿、千亿级别参数量的大模型通常需要做分布式训练,这时参 阅读全文
posted @ 2024-02-25 07:13 muzinan110 阅读(216) 评论(0) 推荐(0) 编辑
摘要:工作原理 通过扩展的方式管理 GPU 资源 Kubernetes 本身是通过插件扩展的机制来管理 GPU 资源的,具体来说这里有两个独立的内部机制。 第一个是 Extend Resources,允许用户自定义资源名称。而该资源的度量是整数级别,这样做的目的在于通过一个通用的模式支持不同的异构设备,包 阅读全文
posted @ 2024-02-25 06:51 muzinan110 阅读(78) 评论(0) 推荐(0) 编辑
摘要:MLOps是一种机器学习工程文化,基于MLOps的机器学习系统需要具备持续集成 (CI)、持续交付 (CD) 、持续训练 (CT)等能力。 MLOps和DevOps区别?持续集成 (CI)在传统单元测试、集成测试上,还需要基于验证数据进行模型质量评估。持续交付 (CD)交付的不是一个软件或服务,而是 阅读全文
posted @ 2023-08-01 16:29 muzinan110 阅读(88) 评论(0) 推荐(0) 编辑
摘要:近年来,Serverless架构逐渐被更多的开发者所认识、接受,逐渐被应用到了更多领域,其中包括如今非常热门的机器学习领域。 与其他领域不同的是,在Serverless架构上进行人工智能相关项目的应用实践具有极大的特殊性。 ·人工智能领域的模型体积普遍较大,一般情况下模型加载需要比较长的时间,这就导 阅读全文
posted @ 2023-01-26 15:23 muzinan110 阅读(165) 评论(0) 推荐(0) 编辑
摘要:Serverless架构可以在很多领域发挥极具价值的作用,包括监控告警、人工智能、图像处理、音视频处理等。同样,在大数据领域,Serverless架构仍然可以有良好的表现。以WordCount为例,可以依靠Serverless架构实现一个Serverless版本的MapReduce。 MapRedu 阅读全文
posted @ 2023-01-26 09:52 muzinan110 阅读(71) 评论(0) 推荐(0) 编辑
摘要:机器学习是一个涉及多学科的专业领域,包括计算机科学、统计学、信息学和神经科学等多个学科。机器学习基于数据和算法构建模型并对模型进行评估。如果效果达到了要求,就用该模型处理其他目标数据;如果达不到要求,则进一步调整算法或参数,重新建立模型并再次评估,通过反复测试和评估来获得满意的模型。 算法类型 根据 阅读全文
posted @ 2023-01-25 14:55 muzinan110 阅读(360) 评论(0) 推荐(0) 编辑
摘要:1、数据预处理:iris数据介绍、数据加载、数据展示、维度确认 数据预处理:iris数据加载数据展示确认数据维度使用scikit-learn进行数据处理的四个关键点 1区分开属性数据与结果数据2属性数据与结果数据都是量化的3运算过程中,属性数据与结果数据的类型都是Numpy数组4属性数据与结果数据的 阅读全文
posted @ 2021-02-18 11:38 muzinan110 阅读(614) 评论(0) 推荐(0) 编辑
摘要:numpy 可以高效的处理数据,提供数组支持,很多模块都依赖它,比如pandas,scipy,matploylib,所以这个模块是基础。numpy+mkl pandas 用于进行数据探索和数据分析scipy 主要进行数值计算,同时支持矩阵运算,并提供了很多高等数据处理功能,比如积分,傅里叶变换,微分 阅读全文
posted @ 2021-02-18 11:18 muzinan110 阅读(597) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示