普通视图

发现新文章,点击刷新页面。
昨天以前陈少文的博客

多机多盘 minio 集群不同纠删码配置在 IPoIB 下的性能测试

2026年2月8日 08:00
前面测试的发现瓶颈在网卡,本篇在 IPoIB 下进行补充测试。 1. minio 集群环境 1.1 创建 minio 集群 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 export CONTAINER_CLI=nerdctl export IMAGE=minio/minio:RELEASE.2025-04-22T22-12-26Z export ROOT_USER=minioadmin export ROOT_PASSWORD=minioadmin export MINIO_ERASURE_SET_DRIVE_COUNT=16 export MINIO_STORAGE_CLASS_STANDARD=EC:4 export POOL_0="http://minioib{1...4}/mnt/data{0...3}" $CONTAINER_CLI run -d \ --net host \ --ulimit memlock=-1 \ --ulimit stack=67108864 \ --ulimit nofile=1048576:1048576 \ --memory-swappiness=0 \ --name minio \ -v /mnt/data0:/mnt/data0 \ -v /mnt/data1:/mnt/data1 \ -v /mnt/data2:/mnt/data2 \ -v /mnt/data3:/mnt/data3 \ -e "MINIO_ROOT_USER=$ROOT_USER" \ -e "MINIO_ROOT_PASSWORD=$ROOT_PASSWORD" \ -e "MINIO_ERASURE_SET_DRIVE_COUNT=$MINIO_ERASURE_SET_DRIVE_COUNT" \

使用 LLaMA-Factory 微调 Qwen3 模型

2025年9月21日 08:00
1. 原始模型测试 启动环境 1 2 3 4 5 6 7 8 9 10 nerdctl run -it \ --gpus all \ --ipc=host \ -p 8000:8000 \ --ulimit memlock=-1 \ --ulimit stack=67108864 \ --name vllm \ --volume /data/models:/data/models \ --entrypoint /bin/bash \ vllm/vllm-openai:v0.10.1.1 后面 vllm 相关的测试,都基于这个环境。 启动服务 1 2 3 4 5 6 export CUDA_VISIBLE_DEVICES=0 python3 -m vllm.entrypoints.openai.api_server \ --model /data/models/Qwen3-0.6B \ --served-model-name /data/models/Qwen3-0.6B \ --host 0.0.0.0 \ --port 8000 测试 1 2 3 4 5 6 7 8 curl -X POST "http://127.0.0.1:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ -d '{ "model": "/data/models/Qwen3-0.6B", "messages": [ {"role": "user",

什么是模型量化

2025年9月6日 08:00
1. 什么是模型量化 模型量化是将高精度的模型(通常为 32 位浮点数 FP32 或 16 位浮点数 FP16 )的权重和激活值转换为低精度模型(如 8 位整数 INT8)的过程。 FP32 的值范围为 -3.4*10^38 到 3.4*10^38,有 40 亿个值。而对于 INT8,我们只能看到可能值集内的 256 个值,值范围为

kube-proxy 异常导致节点上的 Pod 无法访问 Service

2025年3月31日 08:00
1. 问题描述 相关 Pod 1 2 3 4 5 6 kubectl -n istio-system get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES istiod-647c7c9d95-7n7n6 1/1 Running 0 77m 10.244.173.51 docs-ai-a800-4 <none> <none> istiod-647c7c9d95-k6l88 1/1 Running 0 30m 10.244.210.160 ai-a40-2 <none> <none> istiod-647c7c9d95-pj82r 1/1 Running 0 51m 10.244.229.217 docs-ai-a800-2 <none> <none> 相关 Service 1 2 3 4 kubectl -n istio-system get svc NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE istiod ClusterIP 10.99.225.56 <none> 15010/TCP,15012/TCP,443/TCP,15014/TCP 645d 1 2 3 4 kubectl -n istio-system get endpoints NAME ENDPOINTS AGE istiod 10.244.173.51:15012,10.244.210.160:15012,10.244.229.217:15012 + 9 more... 645d Endpoints 与 Pod 的 IP 是一致的。 测试结果 在异常节点

NFS Over RDMA

2025年3月6日 08:00
1. 前置条件 存储与使用存储的节点组成 RDMA 网络 RDMA 设备配置了 IP 地址 如果使用的是 Mellanox 网卡,在安装驱动时需要加上参数 -with-nfsrdma 1 ./mlnxofedinstall --with-nfsrdma 2. 服务端启动 安装依赖 1 apt install nfs-kernel-server rdma-core -y 加载内核模块 1 modprobe svcrdma 将端口加入 portlist 1 echo 'rdma 20049' | tee /proc/fs/nfsd/portlist 挂载目录 1 mkdir /data1/nfs 1 2 3 vim /etc/exports /data1/nfs *(rw,sync,no_root_squash,no_all_squash) 启动 NFS 服务 1 systemctl start nfs-server.service 检测挂载

以 Qwen 为例,学习大模型的结构

2025年2月9日 08:00
1. Qwen 模型介绍 2023 年 4 月,阿里巴巴推出 Qwen 的测试版。 2023 年 12 月,阿里巴巴开源了 Qwen 的第一个版本。 2024 年 9 月,阿里巴巴发布了 Qwen2.5。 2025 年 1 月,阿里巴巴发布了 Qwen 2.5-Max。 Qwen 2.5 是 Qwen 大语言模型的目前最新系列。之所以说是系列,是因为在训练完一个预训

AI 应用开发技术栈

2025年1月12日 08:00
Embedding 模型 Embedding 模式将高维度的数据映射到低维度的空间,这样有利于数据的处理和分析。 文本模型 这里有一个排行榜,https://huggingface.co/spaces/mteb/leaderboard 在上面的排行榜中,会给出模型的评分,模型的参数量

MPI 通信原语及 Python 编程使用

2024年11月10日 08:00
1. 什么是 MPI MPI,Message Passing Interface 消息传递接口,是一种用于并行计算的通信协议。 MPI 提供了一组标准化的接口,用于在不同的计算节点之间传输数据,广泛应用于科学计算、机器学习、深度学习等领域。 MPI 有多个实现,常用实现有 MPICH 和 OpenMPI。MPICH

Kubernetes 下的 DLRover 工作流程分析

2024年8月27日 08:00
本文使用的 DLRover 版本是 0.3.7 1. DLRover Operator 1.1 启动 ElasticJob 和 ScalePlan 的控制器 实现代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // 创建 ElasticJob 的控制器 if err = controllers.NewElasticJobReconciler(mgr, masterImage).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ElasticJob") os.Exit(1) } // 创建 ScalePlan 的控制器 if err = controllers.NewScalePlanReconciler(mgr).SetupWithManager(mgr); err != nil { setupLog.Error(err, "unable to create controller", "controller", "ScalePlan") os.Exit(1) } // 启动控制器 if err := mgr.Start(ctrl.SetupSignalHandler()); err != nil { setupLog.Error(err, "problem running manager") os.Exit(1) } 这部分代码是

使用 DLRover 托管作业进行弹性、容错训练

2024年8月17日 08:00
1. 分布式训练面临的问题 预估训练资源困难,无法自动化 需要多少算力、需要多少时间、需要多少带宽、需要多少 CPU、需要多少内存,如果没有足够的积累,很难估算准确。导致的结果就是,超额申请、超额分配,造成极大的资源浪费。 需要去沉淀和提供解决方案。 故

使用 Volcano 运行 nccl-test

2024年8月11日 08:00
1. 制作 nccl-test 镜像 查看 CUDA 版本 1 2 3 nvidia-smi | grep "CUDA Version" | awk '{print $9}' 12.2 编写 Dockerfile 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 cat > Dockerfile << EOF FROM nvidia/cuda:12.1.0-cudnn8-devel-ubuntu22.04 ENV DEBIAN_FRONTEND=noninteractive ARG CONDA_VERSION WORKDIR /workspace ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && apt install -y openmpi-bin libopenmpi-dev ssh openssh-server net-tools vim git iputils-ping nfs-common RUN git clone https://github.com/NVIDIA/nccl-tests.git && \ cd nccl-tests && \ make MPI=1 MPI_HOME=/usr/lib/x86_64-linux-gnu/openmpi EOF 编译 nccl-test 镜像 1 docker build -t shaowenchen/nccl-test:12.1.0-ubuntu22.04 -f Dockerfile . 推送 nccl-test 镜像 1 docker push shaowenchen/nccl-test:12.1.0-ubuntu22.04 2. 运行 Volcano Job 给测试节点打

使用 JuiceFS 存储 Elasticsearch 数据

2024年5月22日 08:00
1. 存储方案 三种存储方案: 基于目录隔离公用一个 JuiceFS Elasticsearch 的节点共用一个 JuiceFS,通过子目录挂载不同的 Elasticsearch 节点。 /0/ 对应节点 Node-0 /1/ 对应节点 Node-1 /2/ 对应节点 Node-2 这种方式的好处主要是,易于扩展、配置方便。 基于 JuiceFS 隔离节点数据 Elasticsearch 每个节点都对接一个独立的 JuiceF
❌
❌