diff --git a/lm-evaluation-harness/Qwen2.5-7B_eval.log b/lm-evaluation-harness/Qwen2.5-7B_eval.log new file mode 100644 index 0000000000000000000000000000000000000000..f65a19e134ad6c30ef462aaa563b5356f76208ee --- /dev/null +++ b/lm-evaluation-harness/Qwen2.5-7B_eval.log @@ -0,0 +1,18731 @@ +nohup: ignoring input + +================================================== +开始评估:任务=triviaqa | 少样本数=0 | 模型=Qwen2.5-7B +输出路径:results2/Qwen2.5-7B/base_triviaqa.json +================================================== +2025-12-01:18:12:29 INFO [__main__:440] Selected Tasks: ['triviaqa'] +2025-12-01:18:12:29 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:18:12:29 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-7B'} +2025-12-01:18:12:29 WARNING [accelerate.utils.other:513] Detected kernel version 5.4.143, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher. +2025-12-01:18:12:29 INFO [models.huggingface:137] Using device 'cuda:1' +2025-12-01:18:12:29 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:1'} +`torch_dtype` is deprecated! Use `dtype` instead! + Loading checkpoint shards: 0%| | 0/4 [00:00 +n136-128-154:806117:806706 [0] NCCL INFO Initialized NET plugin IB +n136-128-154:806117:806706 [0] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:806117:806706 [0] NCCL INFO Using network IB +n136-128-154:806118:806707 [1] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +n136-128-154:806118:806707 [1] NCCL INFO NET/IB : Using [0]mlx5_0:1/RoCE [1]mlx5_1:1/RoCE [2]mlx5_2:1/RoCE [3]mlx5_3:1/RoCE [RO]; OOB eth0:fdbd:dc03:9:451::154<0> +n136-128-154:806118:806707 [1] NCCL INFO Initialized NET plugin IB +n136-128-154:806118:806707 [1] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:806118:806707 [1] NCCL INFO Using network IB +n136-128-154:806118:806707 [1] NCCL INFO ncclCommInitRankConfig comm 0x1019b9f0 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0xf12573ebaaf36444 - Init START +n136-128-154:806117:806706 [0] NCCL INFO ncclCommInitRankConfig comm 0x101fba50 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0xf12573ebaaf36444 - Init START +n136-128-154:806118:806707 [1] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:806117:806706 [0] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:806118:806707 [1] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:806118:806707 [1] NCCL INFO Retrieving state for IB +n136-128-154:806118:806707 [1] NCCL INFO Initialized state 0 for IB +n136-128-154:806118:806707 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:806117:806706 [0] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:806117:806706 [0] NCCL INFO Retrieving state for IB +n136-128-154:806117:806706 [0] NCCL INFO Initialized state 0 for IB +n136-128-154:806117:806706 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:806118:806707 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:806117:806706 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:806118:806707 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:806117:806706 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:806118:806707 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:806117:806706 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:806118:806707 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:806118:806707 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:806117:806706 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:806117:806706 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:806118:806707 [1] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:806118:806707 [1] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:806118:806707 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:806118:806707 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:806118:806707 [1] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:806118:806707 [1] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:806118:806707 [1] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:806118:806707 [1] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:806118:806707 [1] NCCL INFO ========================================== +n136-128-154:806118:806707 [1] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:806118:806707 [1] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:806118:806707 [1] NCCL INFO Setting affinity for GPU 7 to 33-62,97-126 +n136-128-154:806117:806706 [0] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:806117:806706 [0] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:806117:806706 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:806117:806706 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:806117:806706 [0] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:806117:806706 [0] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:806117:806706 [0] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:806117:806706 [0] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:806117:806706 [0] NCCL INFO ========================================== +n136-128-154:806117:806706 [0] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:806117:806706 [0] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:806118:806707 [1] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:806118:806707 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO Setting affinity for GPU 6 to 33-62,97-126 +n136-128-154:806118:806707 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:806118:806707 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806118:806707 [1] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806118:806707 [1] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806118:806707 [1] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806118:806707 [1] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806118:806707 [1] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806118:806707 [1] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806117:806706 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:806117:806706 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:806117:806706 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:806117:806706 [0] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806117:806706 [0] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806117:806706 [0] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806117:806706 [0] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806117:806706 [0] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806117:806706 [0] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:806118:806707 [1] NCCL INFO comm 0x1019b9f0 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0 +n136-128-154:806117:806706 [0] NCCL INFO comm 0x101fba50 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0 +n136-128-154:806118:806707 [1] NCCL INFO Tree 0 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 12 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 0 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 1 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 12 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 13 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 1 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 2 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 13 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 14 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 2 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 3 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 14 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 15 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 3 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 4 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 15 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 16 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 4 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 5 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 16 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 17 : 0 -> 1 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 5 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 6 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 17 : -1 -> 0 -> 1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 18 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 6 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 7 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 18 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 19 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 7 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 8 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 19 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 20 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 8 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 9 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 20 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 21 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 9 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 10 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 21 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 22 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 10 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 11 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 22 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806118:806707 [1] NCCL INFO Tree 23 : -1 -> 1 -> 0/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 11 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Tree 23 : 1 -> 0 -> -1/-1/-1 +n136-128-154:806117:806706 [0] NCCL INFO Channel 00/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 00 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 01/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 01 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 02/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 02 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 03/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 03 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 04/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 04 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 05/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 05 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 06/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 06 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 07/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 07 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 08/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 08 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 09/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 09 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 10/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 10 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 11/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 11 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 12/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 12 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 13/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 13 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 14/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 14 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 15/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 15 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 16/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 16 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 17/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 17 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 18/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 18 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 19/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 19 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 20/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 20 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 21/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 21 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 22/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 22 : 0 -> 1 -> 0 +n136-128-154:806117:806706 [0] NCCL INFO Channel 23/24 : 0 1 +n136-128-154:806118:806707 [1] NCCL INFO Ring 23 : 0 -> 1 -> 0 +n136-128-154:806118:806707 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] -1/-1/-1->1->0 [2] -1/-1/-1->1->0 [3] -1/-1/-1->1->0 [4] -1/-1/-1->1->0 [5] -1/-1/-1->1->0 [6] 0/-1/-1->1->-1 [7] 0/-1/-1->1->-1 [8] 0/-1/-1->1->-1 [9] 0/-1/-1->1->-1 [10] 0/-1/-1->1->-1 [11] 0/-1/-1->1->-1 [12] -1/-1/-1->1->0 [13] -1/-1/-1->1->0 [14] -1/-1/-1->1->0 [15] -1/-1/-1->1->0 [16] -1/-1/-1->1->0 [17] -1/-1/-1->1->0 [18] 0/-1/-1->1->-1 [19] 0/-1/-1->1->-1 [20] 0/-1/-1->1->-1 [21] 0/-1/-1->1->-1 [22] 0/-1/-1->1->-1 [23] 0/-1/-1->1->-1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 00 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 01 : 1 -> 0 -> 1 +n136-128-154:806118:806707 [1] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:806117:806706 [0] NCCL INFO Ring 02 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 03 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 04 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 05 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 06 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 07 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 08 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 09 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 10 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 11 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 12 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 13 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 14 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 15 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 16 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 17 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 18 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 19 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 20 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 21 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 22 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Ring 23 : 1 -> 0 -> 1 +n136-128-154:806117:806706 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1 [2] 1/-1/-1->0->-1 [3] 1/-1/-1->0->-1 [4] 1/-1/-1->0->-1 [5] 1/-1/-1->0->-1 [6] -1/-1/-1->0->1 [7] -1/-1/-1->0->1 [8] -1/-1/-1->0->1 [9] -1/-1/-1->0->1 [10] -1/-1/-1->0->1 [11] -1/-1/-1->0->1 [12] 1/-1/-1->0->-1 [13] 1/-1/-1->0->-1 [14] 1/-1/-1->0->-1 [15] 1/-1/-1->0->-1 [16] 1/-1/-1->0->-1 [17] 1/-1/-1->0->-1 [18] -1/-1/-1->0->1 [19] -1/-1/-1->0->1 [20] -1/-1/-1->0->1 [21] -1/-1/-1->0->1 [22] -1/-1/-1->0->1 [23] -1/-1/-1->0->1 +n136-128-154:806117:806706 [0] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:806117:806706 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:806117:806706 [0] NCCL INFO Check P2P Type isAllDirectP2p 1 directMode 0 +n136-128-154:806117:806729 [0] NCCL INFO [Proxy Service] Device 0 CPU core 99 +n136-128-154:806117:806730 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 100 +n136-128-154:806118:806707 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:806118:806731 [1] NCCL INFO [Proxy Service] Device 1 CPU core 110 +n136-128-154:806118:806732 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 47 +n136-128-154:806117:806706 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:806117:806706 [0] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:806117:806706 [0] NCCL INFO CC Off, workFifoBytes 1048576 +n136-128-154:806118:806707 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:806118:806707 [1] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:806117:806706 [0] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:806117:806706 [0] NCCL INFO ncclCommInitRankConfig comm 0x101fba50 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0xf12573ebaaf36444 - Init COMPLETE +n136-128-154:806117:806706 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 2 total 0.77 (kernels 0.14, alloc 0.40, bootstrap 0.00, allgathers 0.01, topo 0.08, graphs 0.00, connections 0.03, rest 0.11) +n136-128-154:806118:806707 [1] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:806118:806707 [1] NCCL INFO ncclCommInitRankConfig comm 0x1019b9f0 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0xf12573ebaaf36444 - Init COMPLETE +n136-128-154:806118:806707 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 2 total 0.77 (kernels 0.14, alloc 0.40, bootstrap 0.00, allgathers 0.01, topo 0.08, graphs 0.00, connections 0.03, rest 0.11) +n136-128-154:806117:806734 [0] NCCL INFO Channel 00/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 01/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 02/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 00/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 03/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 01/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 04/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 02/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 05/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 03/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 06/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 04/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 07/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 05/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 06/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 08/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 07/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 09/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 08/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 10/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 09/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 11/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 10/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 12/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 11/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 13/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 12/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 14/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 13/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 15/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 14/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 16/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 15/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 17/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 16/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 18/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 17/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 19/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 18/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 20/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 19/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 21/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 20/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 22/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 21/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806117:806734 [0] NCCL INFO Channel 23/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 22/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Channel 23/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:806735 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +n136-128-154:806117:806734 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +2025-12-01:21:16:40 INFO [evaluator:559] Running generate_until requests +2025-12-01:21:16:40 INFO [evaluator:559] Running generate_until requests + Running generate_until requests: 0%| | 0/8972 [00:00 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 01/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 02/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 03/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 04/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 05/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 06/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 07/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 08/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 09/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 10/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 11/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 12/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 13/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 14/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 15/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 16/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 17/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 18/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 19/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 20/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 21/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 22/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 23/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 24/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 25/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 26/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 27/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 28/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 29/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 30/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:806118:815804 [1] NCCL INFO Channel 31/1 : 1[7] -> 0[6] via P2P/CUMEM/read +fatal: detected dubious ownership in repository at '/mnt/bn/life-mllm/users/cxr/quantization' +To add an exception for this directory, call: + + git config --global --add safe.directory /mnt/bn/life-mllm/users/cxr/quantization +n136-128-154:806118:815834 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:806118:815834 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:806118:815834 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:806118:815834 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:806118:815834 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:806118:815834 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:806118:806731 [1] NCCL INFO misc/socket.cc:915 -> 3 +2025-12-01:21:53:28 INFO [loggers.evaluation_tracker:209] Saving results aggregated +hf (pretrained=/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B), gen_kwargs: (None), limit: None, num_fewshot: 0, batch_size: auto +| Tasks |Version| Filter |n-shot| Metric | |Value| |Stderr| +|--------|------:|-----------------|-----:|-----------|---|----:|---|-----:| +|triviaqa| 3|remove_whitespace| 0|exact_match|↑ |0.618|± |0.0036| + +[rank0]:[W1201 21:53:31.956965897 ProcessGroupNCCL.cpp:1524] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator()) +n136-128-154:806117:815882 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:806117:815882 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:806117:815882 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:806117:806729 [0] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:806117:815882 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:806117:815882 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:806117:815882 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:806118:806731 [1] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:806118:815834 [1] NCCL INFO comm 0x1019b9f0 rank 1 nranks 2 cudaDev 1 busId c9000 - Abort COMPLETE +n136-128-154:806117:815882 [0] NCCL INFO comm 0x101fba50 rank 0 nranks 2 cudaDev 0 busId c5000 - Abort COMPLETE +任务 triviaqa 评估完成! + +================================================== +开始评估:任务=winogrande | 少样本数=5 | 模型=Qwen2.5-32B +输出路径:results2/Qwen2.5-32B/base_winogrande.json +================================================== +The following values were not passed to `accelerate launch` and had defaults used instead: + More than one GPU was found, enabling multi-GPU training. + If this was unintended please pass in `--num_processes=1`. + `--num_machines` was set to a value of `1` + `--mixed_precision` was set to a value of `'no'` + `--dynamo_backend` was set to a value of `'no'` +To avoid this warning pass in values for each of the problematic parameters or run `accelerate config`. +2025-12-01:21:54:22 INFO [__main__:440] Selected Tasks: ['winogrande'] +2025-12-01:21:54:22 INFO [__main__:440] Selected Tasks: ['winogrande'] +2025-12-01:21:54:22 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:21:54:22 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:21:54:22 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:21:54:22 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:21:54:23 WARNING [accelerate.utils.other:513] Detected kernel version 5.4.143, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher. +2025-12-01:21:54:23 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:1'} +2025-12-01:21:54:23 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:0'} +`torch_dtype` is deprecated! Use `dtype` instead! +`torch_dtype` is deprecated! Use `dtype` instead! + Loading checkpoint shards: 0%| | 0/17 [00:00 +n136-128-154:815929:816165 [0] NCCL INFO Initialized NET plugin IB +n136-128-154:815929:816165 [0] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:815929:816165 [0] NCCL INFO Using network IB +n136-128-154:815929:816165 [0] NCCL INFO ncclCommInitRankConfig comm 0x11eeb740 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0xd3225c942fe0c8ed - Init START +2025-12-01:21:55:09 WARNING [evaluator:309] Overwriting default num_fewshot of winogrande from None to 5 +2025-12-01:21:55:09 INFO [api.task:434] Building contexts for winogrande on rank 1... + 0%| | 0/633 [00:00 +n136-128-154:815930:816187 [1] NCCL INFO Initialized NET plugin IB +n136-128-154:815930:816187 [1] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:815930:816187 [1] NCCL INFO Using network IB +n136-128-154:815930:816187 [1] NCCL INFO ncclCommInitRankConfig comm 0x11f46e80 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0xd3225c942fe0c8ed - Init START +n136-128-154:815930:816187 [1] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:815929:816165 [0] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:815930:816187 [1] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:815930:816187 [1] NCCL INFO Retrieving state for IB +n136-128-154:815930:816187 [1] NCCL INFO Initialized state 0 for IB +n136-128-154:815930:816187 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:815929:816165 [0] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:815929:816165 [0] NCCL INFO Retrieving state for IB +n136-128-154:815929:816165 [0] NCCL INFO Initialized state 0 for IB +n136-128-154:815930:816187 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:815929:816165 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:815930:816187 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:815929:816165 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:815930:816187 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:815929:816165 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:815929:816165 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:815930:816187 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:815930:816187 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:815929:816165 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:815929:816165 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:815929:816165 [0] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:815929:816165 [0] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:815929:816165 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:815929:816165 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:815929:816165 [0] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:815929:816165 [0] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:815929:816165 [0] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:815929:816165 [0] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:815929:816165 [0] NCCL INFO ========================================== +n136-128-154:815929:816165 [0] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:815929:816165 [0] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:815929:816165 [0] NCCL INFO Setting affinity for GPU 6 to 33-62,97-126 +n136-128-154:815930:816187 [1] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:815930:816187 [1] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:815930:816187 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:815930:816187 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:815930:816187 [1] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:815930:816187 [1] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:815930:816187 [1] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:815930:816187 [1] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:815930:816187 [1] NCCL INFO ========================================== +n136-128-154:815930:816187 [1] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:815930:816187 [1] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:815930:816187 [1] NCCL INFO Setting affinity for GPU 7 to 33-62,97-126 +n136-128-154:815929:816165 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:815929:816165 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:815929:816165 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815929:816165 [0] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815929:816165 [0] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815929:816165 [0] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815929:816165 [0] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815929:816165 [0] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815929:816165 [0] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815930:816187 [1] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:815930:816187 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:815930:816187 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:815930:816187 [1] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815930:816187 [1] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815930:816187 [1] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815930:816187 [1] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815930:816187 [1] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815930:816187 [1] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:815929:816165 [0] NCCL INFO comm 0x11eeb740 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0 +n136-128-154:815930:816187 [1] NCCL INFO comm 0x11f46e80 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0 +n136-128-154:815929:816165 [0] NCCL INFO Tree 0 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 0 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 12 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 12 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 1 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 1 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 13 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 13 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 2 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 2 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 14 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 14 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 3 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 3 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 15 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 15 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 4 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 4 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 16 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 16 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 5 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 5 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 17 : -1 -> 0 -> 1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 17 : 0 -> 1 -> -1/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 6 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 6 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 18 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 18 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 7 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 7 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 19 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 19 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 8 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 8 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 20 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 20 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 9 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 9 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 21 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 21 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 10 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 10 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 22 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 22 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 11 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 11 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Tree 23 : 1 -> 0 -> -1/-1/-1 +n136-128-154:815930:816187 [1] NCCL INFO Tree 23 : -1 -> 1 -> 0/-1/-1 +n136-128-154:815929:816165 [0] NCCL INFO Channel 00/24 : 0 1 +n136-128-154:815929:816165 [0] NCCL INFO Channel 01/24 : 0 1 +n136-128-154:815929:816165 [0] NCCL INFO Channel 02/24 : 0 1 +n136-128-154:815929:816165 [0] NCCL INFO Channel 03/24 : 0 1 +n136-128-154:815929:816165 [0] NCCL INFO Channel 04/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 00 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 05/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 01 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 06/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 02 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 07/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 03 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 08/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 04 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 09/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 05 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 10/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 06 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 11/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 07 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 12/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 08 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 13/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 09 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 14/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 10 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 15/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 11 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 16/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 12 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 17/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 13 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 18/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 14 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 19/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 15 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 20/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 16 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 21/24 : 0 1 +n136-128-154:815929:816165 [0] NCCL INFO Channel 22/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 17 : 0 -> 1 -> 0 +n136-128-154:815930:816187 [1] NCCL INFO Ring 18 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Channel 23/24 : 0 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 19 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Ring 00 : 1 -> 0 -> 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 20 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Ring 01 : 1 -> 0 -> 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 21 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Ring 02 : 1 -> 0 -> 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 22 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Ring 03 : 1 -> 0 -> 1 +n136-128-154:815930:816187 [1] NCCL INFO Ring 23 : 0 -> 1 -> 0 +n136-128-154:815929:816165 [0] NCCL INFO Ring 04 : 1 -> 0 -> 1 +n136-128-154:815930:816187 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] -1/-1/-1->1->0 [2] -1/-1/-1->1->0 [3] -1/-1/-1->1->0 [4] -1/-1/-1->1->0 [5] -1/-1/-1->1->0 [6] 0/-1/-1->1->-1 [7] 0/-1/-1->1->-1 [8] 0/-1/-1->1->-1 [9] 0/-1/-1->1->-1 [10] 0/-1/-1->1->-1 [11] 0/-1/-1->1->-1 [12] -1/-1/-1->1->0 [13] -1/-1/-1->1->0 [14] -1/-1/-1->1->0 [15] -1/-1/-1->1->0 [16] -1/-1/-1->1->0 [17] -1/-1/-1->1->0 [18] 0/-1/-1->1->-1 [19] 0/-1/-1->1->-1 [20] 0/-1/-1->1->-1 [21] 0/-1/-1->1->-1 [22] 0/-1/-1->1->-1 [23] 0/-1/-1->1->-1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 05 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 06 : 1 -> 0 -> 1 +n136-128-154:815930:816187 [1] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:815929:816165 [0] NCCL INFO Ring 07 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 08 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 09 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 10 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 11 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 12 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 13 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 14 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 15 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 16 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 17 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 18 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 19 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 20 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 21 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 22 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Ring 23 : 1 -> 0 -> 1 +n136-128-154:815929:816165 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1 [2] 1/-1/-1->0->-1 [3] 1/-1/-1->0->-1 [4] 1/-1/-1->0->-1 [5] 1/-1/-1->0->-1 [6] -1/-1/-1->0->1 [7] -1/-1/-1->0->1 [8] -1/-1/-1->0->1 [9] -1/-1/-1->0->1 [10] -1/-1/-1->0->1 [11] -1/-1/-1->0->1 [12] 1/-1/-1->0->-1 [13] 1/-1/-1->0->-1 [14] 1/-1/-1->0->-1 [15] 1/-1/-1->0->-1 [16] 1/-1/-1->0->-1 [17] 1/-1/-1->0->-1 [18] -1/-1/-1->0->1 [19] -1/-1/-1->0->1 [20] -1/-1/-1->0->1 [21] -1/-1/-1->0->1 [22] -1/-1/-1->0->1 [23] -1/-1/-1->0->1 +n136-128-154:815929:816165 [0] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:815930:816187 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:815930:816195 [1] NCCL INFO [Proxy Service] Device 1 CPU core 99 +n136-128-154:815930:816196 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 36 +n136-128-154:815929:816165 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:815929:816165 [0] NCCL INFO Check P2P Type isAllDirectP2p 1 directMode 0 +n136-128-154:815929:816198 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 115 +n136-128-154:815929:816197 [0] NCCL INFO [Proxy Service] Device 0 CPU core 114 +n136-128-154:815930:816187 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:815930:816187 [1] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:815929:816165 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:815929:816165 [0] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:815929:816165 [0] NCCL INFO CC Off, workFifoBytes 1048576 +n136-128-154:815929:816165 [0] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:815929:816165 [0] NCCL INFO ncclCommInitRankConfig comm 0x11eeb740 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0xd3225c942fe0c8ed - Init COMPLETE +n136-128-154:815929:816165 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 2 total 8.65 (kernels 0.13, alloc 0.13, bootstrap 8.15, allgathers 0.01, topo 0.09, graphs 0.00, connections 0.02, rest 0.13) +n136-128-154:815930:816187 [1] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:815930:816187 [1] NCCL INFO ncclCommInitRankConfig comm 0x11f46e80 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0xd3225c942fe0c8ed - Init COMPLETE +n136-128-154:815930:816187 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 2 total 0.65 (kernels 0.12, alloc 0.29, bootstrap 0.00, allgathers 0.01, topo 0.09, graphs 0.00, connections 0.02, rest 0.13) +n136-128-154:815929:816199 [0] NCCL INFO Channel 00/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 01/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 02/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 03/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 04/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 05/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 06/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 07/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 08/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 00/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 09/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 01/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 10/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 02/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 11/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 03/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 12/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 04/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 13/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 05/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 14/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 06/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 15/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 07/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 16/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 08/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 17/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 09/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 18/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 10/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 19/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 11/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 20/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 12/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 21/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 13/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 22/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 14/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815929:816199 [0] NCCL INFO Channel 23/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 15/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 16/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 17/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 18/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 19/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 20/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 21/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 22/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Channel 23/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816200 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +n136-128-154:815929:816199 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +2025-12-01:21:55:10 INFO [evaluator:559] Running loglikelihood requests +2025-12-01:21:55:10 INFO [evaluator:559] Running loglikelihood requests + Running loglikelihood requests: 0%| | 0/1268 [00:00 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 01/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 02/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 03/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 04/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 05/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 06/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 07/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 08/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 09/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 10/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 11/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 12/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 13/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 14/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 15/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 16/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 17/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 18/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 19/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 20/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 21/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 22/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 23/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 24/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 25/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 26/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 27/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 28/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 29/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 30/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:815930:816278 [1] NCCL INFO Channel 31/1 : 1[7] -> 0[6] via P2P/CUMEM/read +fatal: detected dubious ownership in repository at '/mnt/bn/life-mllm/users/cxr/quantization' +To add an exception for this directory, call: + + git config --global --add safe.directory /mnt/bn/life-mllm/users/cxr/quantization +n136-128-154:815930:816285 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:815930:816285 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:815930:816285 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:815930:816285 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:815930:816285 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:815930:816285 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:815930:816195 [1] NCCL INFO misc/socket.cc:915 -> 3 +2025-12-01:21:56:33 INFO [loggers.evaluation_tracker:209] Saving results aggregated +hf (pretrained=/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B), gen_kwargs: (None), limit: None, num_fewshot: 5, batch_size: auto (64) +| Tasks |Version|Filter|n-shot|Metric| |Value | |Stderr| +|----------|------:|------|-----:|------|---|-----:|---|-----:| +|winogrande| 1|none | 5|acc |↑ |0.8106|± | 0.011| + +[rank0]:[W1201 21:56:34.591631452 ProcessGroupNCCL.cpp:1524] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator()) +n136-128-154:815929:816335 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:815929:816335 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:815929:816335 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:815929:816197 [0] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:815929:816335 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:815929:816335 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:815929:816335 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:815930:816195 [1] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:815930:816285 [1] NCCL INFO comm 0x11f46e80 rank 1 nranks 2 cudaDev 1 busId c9000 - Abort COMPLETE +n136-128-154:815929:816335 [0] NCCL INFO comm 0x11eeb740 rank 0 nranks 2 cudaDev 0 busId c5000 - Abort COMPLETE +任务 winogrande 评估完成! + +================================================== +开始评估:任务=mmlu | 少样本数=5 | 模型=Qwen2.5-32B +输出路径:results2/Qwen2.5-32B/base_mmlu.json +================================================== +The following values were not passed to `accelerate launch` and had defaults used instead: + More than one GPU was found, enabling multi-GPU training. + If this was unintended please pass in `--num_processes=1`. + `--num_machines` was set to a value of `1` + `--mixed_precision` was set to a value of `'no'` + `--dynamo_backend` was set to a value of `'no'` +To avoid this warning pass in values for each of the problematic parameters or run `accelerate config`. +2025-12-01:21:57:24 INFO [__main__:440] Selected Tasks: ['mmlu'] +2025-12-01:21:57:24 INFO [__main__:440] Selected Tasks: ['mmlu'] +2025-12-01:21:57:24 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:21:57:24 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:21:57:24 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:21:57:24 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:21:57:25 WARNING [accelerate.utils.other:513] Detected kernel version 5.4.143, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher. +2025-12-01:21:57:25 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:0'} +`torch_dtype` is deprecated! Use `dtype` instead! +2025-12-01:21:57:25 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:1'} +`torch_dtype` is deprecated! Use `dtype` instead! + Loading checkpoint shards: 0%| | 0/17 [00:00 +n136-128-154:816381:818575 [0] NCCL INFO Initialized NET plugin IB +n136-128-154:816382:818576 [1] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +n136-128-154:816382:818576 [1] NCCL INFO NET/IB : Using [0]mlx5_0:1/RoCE [1]mlx5_1:1/RoCE [2]mlx5_2:1/RoCE [3]mlx5_3:1/RoCE [RO]; OOB eth0:fdbd:dc03:9:451::154<0> +n136-128-154:816382:818576 [1] NCCL INFO Initialized NET plugin IB +n136-128-154:816381:818575 [0] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:816381:818575 [0] NCCL INFO Using network IB +n136-128-154:816382:818576 [1] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:816382:818576 [1] NCCL INFO Using network IB +n136-128-154:816381:818575 [0] NCCL INFO ncclCommInitRankConfig comm 0x11c77940 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0x14739c438e31f4a1 - Init START +n136-128-154:816382:818576 [1] NCCL INFO ncclCommInitRankConfig comm 0x11a96e00 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0x14739c438e31f4a1 - Init START +n136-128-154:816381:818575 [0] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:816382:818576 [1] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:816382:818576 [1] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:816382:818576 [1] NCCL INFO Retrieving state for IB +n136-128-154:816382:818576 [1] NCCL INFO Initialized state 0 for IB +n136-128-154:816382:818576 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:816381:818575 [0] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:816381:818575 [0] NCCL INFO Retrieving state for IB +n136-128-154:816381:818575 [0] NCCL INFO Initialized state 0 for IB +n136-128-154:816382:818576 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:816381:818575 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:816381:818575 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:816382:818576 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:816382:818576 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:816381:818575 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:816381:818575 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:816381:818575 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:816381:818575 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:816382:818576 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:816382:818576 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:816381:818575 [0] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:816381:818575 [0] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:816382:818576 [1] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:816382:818576 [1] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:816381:818575 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:816381:818575 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:816381:818575 [0] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:816382:818576 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:816381:818575 [0] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:816382:818576 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:816381:818575 [0] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:816382:818576 [1] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:816381:818575 [0] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:816382:818576 [1] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:816381:818575 [0] NCCL INFO ========================================== +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:816381:818575 [0] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:816382:818576 [1] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:816382:818576 [1] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:816381:818575 [0] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:816382:818576 [1] NCCL INFO ========================================== +n136-128-154:816382:818576 [1] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:816381:818575 [0] NCCL INFO Setting affinity for GPU 6 to 33-62,97-126 +n136-128-154:816382:818576 [1] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:816382:818576 [1] NCCL INFO Setting affinity for GPU 7 to 33-62,97-126 +n136-128-154:816381:818575 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:816381:818575 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:816381:818575 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:816381:818575 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816381:818575 [0] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:816382:818576 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:816382:818576 [1] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816382:818576 [1] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:816381:818575 [0] NCCL INFO comm 0x11c77940 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0 +n136-128-154:816382:818576 [1] NCCL INFO comm 0x11a96e00 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0 +n136-128-154:816381:818575 [0] NCCL INFO Tree 0 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 0 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 12 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 12 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 1 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 1 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 13 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 13 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 2 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 2 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 14 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 14 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 3 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 3 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 15 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 15 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 4 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 4 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 16 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 16 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 5 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 5 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 17 : -1 -> 0 -> 1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 17 : 0 -> 1 -> -1/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 6 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 6 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 18 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 18 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 7 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 7 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 19 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 19 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 8 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 8 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 20 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 20 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 9 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 9 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 21 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 21 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 10 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 10 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 22 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 22 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 11 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 11 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Tree 23 : 1 -> 0 -> -1/-1/-1 +n136-128-154:816382:818576 [1] NCCL INFO Tree 23 : -1 -> 1 -> 0/-1/-1 +n136-128-154:816381:818575 [0] NCCL INFO Channel 00/24 : 0 1 +n136-128-154:816381:818575 [0] NCCL INFO Channel 01/24 : 0 1 +n136-128-154:816381:818575 [0] NCCL INFO Channel 02/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 00 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 03/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 01 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 04/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 02 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 05/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 03 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 06/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 04 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 07/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 05 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 08/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 06 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 09/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 07 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 10/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 08 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 11/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 09 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 12/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 10 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 13/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 11 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 14/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 12 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 15/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 13 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 16/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 14 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 17/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 15 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 18/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 16 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 19/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 17 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 20/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 18 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 21/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 19 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 22/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 20 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Channel 23/24 : 0 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 21 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Ring 00 : 1 -> 0 -> 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 22 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Ring 01 : 1 -> 0 -> 1 +n136-128-154:816382:818576 [1] NCCL INFO Ring 23 : 0 -> 1 -> 0 +n136-128-154:816381:818575 [0] NCCL INFO Ring 02 : 1 -> 0 -> 1 +n136-128-154:816382:818576 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] -1/-1/-1->1->0 [2] -1/-1/-1->1->0 [3] -1/-1/-1->1->0 [4] -1/-1/-1->1->0 [5] -1/-1/-1->1->0 [6] 0/-1/-1->1->-1 [7] 0/-1/-1->1->-1 [8] 0/-1/-1->1->-1 [9] 0/-1/-1->1->-1 [10] 0/-1/-1->1->-1 [11] 0/-1/-1->1->-1 [12] -1/-1/-1->1->0 [13] -1/-1/-1->1->0 [14] -1/-1/-1->1->0 [15] -1/-1/-1->1->0 [16] -1/-1/-1->1->0 [17] -1/-1/-1->1->0 [18] 0/-1/-1->1->-1 [19] 0/-1/-1->1->-1 [20] 0/-1/-1->1->-1 [21] 0/-1/-1->1->-1 [22] 0/-1/-1->1->-1 [23] 0/-1/-1->1->-1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 03 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 04 : 1 -> 0 -> 1 +n136-128-154:816382:818576 [1] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:816381:818575 [0] NCCL INFO Ring 05 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 06 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 07 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 08 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 09 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 10 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 11 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 12 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 13 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 14 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 15 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 16 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 17 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 18 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 19 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 20 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 21 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 22 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Ring 23 : 1 -> 0 -> 1 +n136-128-154:816381:818575 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1 [2] 1/-1/-1->0->-1 [3] 1/-1/-1->0->-1 [4] 1/-1/-1->0->-1 [5] 1/-1/-1->0->-1 [6] -1/-1/-1->0->1 [7] -1/-1/-1->0->1 [8] -1/-1/-1->0->1 [9] -1/-1/-1->0->1 [10] -1/-1/-1->0->1 [11] -1/-1/-1->0->1 [12] 1/-1/-1->0->-1 [13] 1/-1/-1->0->-1 [14] 1/-1/-1->0->-1 [15] 1/-1/-1->0->-1 [16] 1/-1/-1->0->-1 [17] 1/-1/-1->0->-1 [18] -1/-1/-1->0->1 [19] -1/-1/-1->0->1 [20] -1/-1/-1->0->1 [21] -1/-1/-1->0->1 [22] -1/-1/-1->0->1 [23] -1/-1/-1->0->1 +n136-128-154:816381:818575 [0] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:816381:818575 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:816381:818575 [0] NCCL INFO Check P2P Type isAllDirectP2p 1 directMode 0 +n136-128-154:816381:818588 [0] NCCL INFO [Proxy Service] Device 0 CPU core 34 +n136-128-154:816381:818589 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 35 +n136-128-154:816382:818576 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:816382:818590 [1] NCCL INFO [Proxy Service] Device 1 CPU core 39 +n136-128-154:816382:818591 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 40 +n136-128-154:816381:818575 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:816381:818575 [0] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:816381:818575 [0] NCCL INFO CC Off, workFifoBytes 1048576 +n136-128-154:816382:818576 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:816382:818576 [1] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:816382:818576 [1] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:816382:818576 [1] NCCL INFO ncclCommInitRankConfig comm 0x11a96e00 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0x14739c438e31f4a1 - Init COMPLETE +n136-128-154:816382:818576 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 2 total 0.77 (kernels 0.14, alloc 0.40, bootstrap 0.00, allgathers 0.00, topo 0.08, graphs 0.00, connections 0.01, rest 0.13) +n136-128-154:816381:818575 [0] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:816381:818575 [0] NCCL INFO ncclCommInitRankConfig comm 0x11c77940 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0x14739c438e31f4a1 - Init COMPLETE +n136-128-154:816381:818575 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 2 total 0.78 (kernels 0.14, alloc 0.41, bootstrap 0.00, allgathers 0.00, topo 0.08, graphs 0.00, connections 0.01, rest 0.13) +n136-128-154:816381:818592 [0] NCCL INFO Channel 00/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 01/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 02/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 03/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 04/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 05/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 06/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 07/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 00/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 08/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 01/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 09/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 02/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 10/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 03/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 11/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 04/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 12/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 05/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 13/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 06/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 14/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 07/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 15/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 08/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 16/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 09/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 17/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 10/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 18/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 11/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 19/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 12/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 20/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 13/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 21/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 14/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 22/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 15/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816381:818592 [0] NCCL INFO Channel 23/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 16/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 17/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 18/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 19/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 20/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 21/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 22/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Channel 23/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:818593 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +n136-128-154:816381:818592 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +2025-12-01:22:12:51 INFO [api.task:434] Building contexts for mmlu_anatomy on rank 0... +2025-12-01:22:12:51 INFO [api.task:434] Building contexts for mmlu_anatomy on rank 1... + 0%| | 0/67 [00:00 0[6] via P2P/CUMEM/read +n136-128-154:816382:820579 [1] NCCL INFO Channel 01/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:816382:820579 [1] NCCL INFO Channel 02/1 : 1[7] -> 0[6] via P2P/CUMEM/read + +[2025-12-01 22:42:36] n136-128-154:816382:818590 [1] include/alloc.h:228 NCCL WARN Cuda failure 2 'out of memory' +n136-128-154:816382:818590 [1] NCCL INFO transport/p2p.cc:217 -> 1 +n136-128-154:816382:818590 [1] NCCL INFO transport/p2p.cc:650 -> 1 +n136-128-154:816382:820579 [1] NCCL INFO transport/p2p.cc:421 -> 1 +n136-128-154:816382:820579 [1] NCCL INFO transport.cc:35 -> 1 +n136-128-154:816382:820579 [1] NCCL INFO transport.cc:156 -> 1 +n136-128-154:816382:820579 [1] NCCL INFO group.cc:131 -> 1 +n136-128-154:816382:820579 [1] NCCL INFO group.cc:73 -> 1 [Async thread] +n136-128-154:816382:816382 [1] NCCL INFO group.cc:475 -> 1 +n136-128-154:816382:816382 [1] NCCL INFO group.cc:694 -> 1 +n136-128-154:816382:816382 [1] NCCL INFO group.cc:104 -> 1 +[rank1]: Traceback (most recent call last): +[rank1]: File "", line 198, in _run_module_as_main +[rank1]: File "", line 88, in _run_code +[rank1]: File "/mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness/lm_eval/__main__.py", line 530, in +[rank1]: cli_evaluate() +[rank1]: File "/mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness/lm_eval/__main__.py", line 449, in cli_evaluate +[rank1]: results = evaluator.simple_evaluate( +[rank1]: ^^^^^^^^^^^^^^^^^^^^^^^^^^ +[rank1]: File "/mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness/lm_eval/utils.py", line 439, in _wrapper +[rank1]: return fn(*args, **kwargs) +[rank1]: ^^^^^^^^^^^^^^^^^^^ +[rank1]: File "/mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness/lm_eval/evaluator.py", line 342, in simple_evaluate +[rank1]: results = evaluate( +[rank1]: ^^^^^^^^^ +[rank1]: File "/mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness/lm_eval/utils.py", line 439, in _wrapper +[rank1]: return fn(*args, **kwargs) +[rank1]: ^^^^^^^^^^^^^^^^^^^ +[rank1]: File "/mnt/bn/life-mllm/users/cxr/quantization/lm-evaluation-harness/lm_eval/evaluator.py", line 669, in evaluate +[rank1]: torch.distributed.gather_object( +[rank1]: File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/c10d_logger.py", line 81, in wrapper +[rank1]: return func(*args, **kwargs) +[rank1]: ^^^^^^^^^^^^^^^^^^^^^ +[rank1]: File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/distributed_c10d.py", line 3312, in gather_object +[rank1]: gather( +[rank1]: File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/c10d_logger.py", line 81, in wrapper +[rank1]: return func(*args, **kwargs) +[rank1]: ^^^^^^^^^^^^^^^^^^^^^ +[rank1]: File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/distributed_c10d.py", line 4264, in gather +[rank1]: work = group.gather(output_tensors, input_tensors, opts) +[rank1]: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +[rank1]: RuntimeError: NCCL Error 1: unhandled cuda error (run with NCCL_DEBUG=INFO for details) +n136-128-154:816382:820583 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:816382:820583 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:816382:820583 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:816382:820583 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:816382:820583 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:816382:820583 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:816382:818590 [1] NCCL INFO misc/socket.cc:915 -> 3 +[rank1]:[E1201 22:53:24.960908161 ProcessGroupNCCL.cpp:1858] [PG ID 0 PG GUID 0(default_pg) Rank 1] ProcessGroupNCCL's watchdog got stuck for 480 seconds without making progress in monitoring enqueued collectives. This typically indicates a NCCL/CUDA API (e.g., CudaEventDestroy) hang blocking the watchdog, and could be triggered by another thread holding the GIL inside a CUDA api (for example, CudaEventDestroy), or other deadlock-prone behaviors.If you suspect the watchdog is not actually stuck and a longer timeout would help, you can either increase the timeout (TORCH_NCCL_HEARTBEAT_TIMEOUT_SEC) to a larger value or disable the heartbeat monitor (TORCH_NCCL_ENABLE_MONITORING=0).If either of aforementioned helps, feel free to file an issue to PyTorch about the short timeout or false positive abort; otherwise, please attempt to debug the hang. +[rank1]:[E1201 22:53:24.962334558 ProcessGroupNCCL.cpp:1575] [PG ID 0 PG GUID 0(default_pg) Rank 1] ProcessGroupNCCL preparing to dump debug info. Include stack trace: 1 +[rank1]:[F1201 23:01:24.969849995 ProcessGroupNCCL.cpp:1600] [PG ID 0 PG GUID 0(default_pg) Rank 1] [PG ID 0 PG GUID 0(default_pg) Rank 1] Terminating the process after attempting to dump debug info, due to ProcessGroupNCCL watchdog hang. +W1201 23:01:31.658000 816337 site-packages/torch/distributed/elastic/multiprocessing/api.py:908] Sending process 816381 closing signal SIGTERM +E1201 23:01:32.177000 816337 site-packages/torch/distributed/elastic/multiprocessing/api.py:882] failed (exitcode: -6) local_rank: 1 (pid: 816382) of binary: /mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/bin/python +Traceback (most recent call last): + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/bin/accelerate", line 7, in + sys.exit(main()) + ^^^^^^ + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/accelerate/commands/accelerate_cli.py", line 50, in main + args.func(args) + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/accelerate/commands/launch.py", line 1272, in launch_command + multi_gpu_launcher(args) + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/accelerate/commands/launch.py", line 899, in multi_gpu_launcher + distrib_run.run(args) + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/run.py", line 927, in run + elastic_launch( + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 156, in __call__ + return launch_agent(self._config, self._entrypoint, list(args)) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/mnt/bn/life-mllm/users/cxr/zhy/miniconda3/envs/lm-evaluation-harness/lib/python3.11/site-packages/torch/distributed/launcher/api.py", line 293, in launch_agent + raise ChildFailedError( +torch.distributed.elastic.multiprocessing.errors.ChildFailedError: +======================================================= +lm_eval FAILED +------------------------------------------------------- +Failures: + +------------------------------------------------------- +Root Cause (first observed failure): +[0]: + time : 2025-12-01_23:01:31 + host : n136-128-154.byted.org + rank : 1 (local_rank: 1) + exitcode : -6 (pid: 816382) + error_file: + traceback : Signal 6 (SIGABRT) received by PID 816382 +======================================================= +警告:任务 mmlu 执行失败! + +================================================== +开始评估:任务=arc_challenge | 少样本数=25 | 模型=Qwen2.5-32B +输出路径:results2/Qwen2.5-32B/base_arc_challenge.json +================================================== +The following values were not passed to `accelerate launch` and had defaults used instead: + More than one GPU was found, enabling multi-GPU training. + If this was unintended please pass in `--num_processes=1`. + `--num_machines` was set to a value of `1` + `--mixed_precision` was set to a value of `'no'` + `--dynamo_backend` was set to a value of `'no'` +To avoid this warning pass in values for each of the problematic parameters or run `accelerate config`. +2025-12-01:23:02:22 INFO [__main__:440] Selected Tasks: ['arc_challenge'] +2025-12-01:23:02:22 INFO [__main__:440] Selected Tasks: ['arc_challenge'] +2025-12-01:23:02:22 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:23:02:22 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:23:02:22 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:23:02:22 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:23:02:23 WARNING [accelerate.utils.other:513] Detected kernel version 5.4.143, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher. +2025-12-01:23:02:23 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:0'} +2025-12-01:23:02:23 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:1'} +`torch_dtype` is deprecated! Use `dtype` instead! +`torch_dtype` is deprecated! Use `dtype` instead! + Loading checkpoint shards: 0%| | 0/17 [00:00 +n136-128-154:821893:822105 [0] NCCL INFO Initialized NET plugin IB +n136-128-154:821893:822105 [0] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:821893:822105 [0] NCCL INFO Using network IB +n136-128-154:821893:822105 [0] NCCL INFO ncclCommInitRankConfig comm 0x114968c0 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0x183565ff2a06145b - Init START + 62%|██████▏ | 364/586 [00:09<00:06, 36.82it/s] 63%|██████▎ | 368/586 [00:10<00:05, 36.85it/s] 63%|██████▎ | 372/586 [00:10<00:05, 36.89it/s] 64%|██████▍ | 376/586 [00:10<00:05, 36.90it/s] 65%|██████▍ | 380/586 [00:10<00:05, 36.93it/s] 66%|██████▌ | 384/586 [00:10<00:05, 36.56it/s] 66%|██████▌ | 388/586 [00:10<00:05, 36.67it/s] 67%|██████▋ | 392/586 [00:10<00:05, 36.71it/s] 68%|██████▊ | 396/586 [00:10<00:05, 36.76it/s] 68%|██████▊ | 400/586 [00:10<00:05, 36.76it/s] 69%|██████▉ | 404/586 [00:11<00:04, 36.73it/s] 70%|██████▉ | 408/586 [00:11<00:04, 36.82it/s] 70%|███████ | 412/586 [00:11<00:04, 36.89it/s] 71%|███████ | 416/586 [00:11<00:04, 36.90it/s] 72%|███████▏ | 420/586 [00:11<00:04, 36.86it/s] 72%|███████▏ | 424/586 [00:11<00:04, 36.90it/s] 73%|███████▎ | 428/586 [00:11<00:04, 36.89it/s] 74%|███████▎ | 432/586 [00:11<00:04, 36.90it/s] 74%|███████▍ | 436/586 [00:11<00:04, 36.96it/s] 75%|███████▌ | 440/586 [00:11<00:03, 36.99it/s] 76%|███████▌ | 444/586 [00:12<00:03, 36.98it/s] 76%|███████▋ | 448/586 [00:12<00:03, 37.00it/s] 77%|███████▋ | 452/586 [00:12<00:03, 37.01it/s] 78%|███████▊ | 456/586 [00:12<00:03, 37.04it/s] 78%|███████▊ | 460/586 [00:12<00:03, 37.09it/s] 79%|███████▉ | 464/586 [00:12<00:03, 36.72it/s] 80%|███████▉ | 468/586 [00:12<00:03, 36.83it/s] 81%|████████ | 472/586 [00:12<00:03, 36.93it/s] 81%|████████ | 476/586 [00:12<00:02, 36.89it/s] 82%|████████▏ | 480/586 [00:13<00:02, 36.80it/s] 83%|████████▎ | 484/586 [00:13<00:02, 36.88it/s] 83%|████████▎ | 488/586 [00:13<00:02, 36.94it/s] 84%|████████▍ | 492/586 [00:13<00:02, 36.99it/s] 85%|████████▍ | 496/586 [00:13<00:02, 37.00it/s] 85%|████████▌ | 500/586 [00:13<00:02, 37.05it/s] 86%|████████▌ | 504/586 [00:13<00:02, 36.67it/s] 87%|████████▋ | 508/586 [00:13<00:02, 36.75it/s] 87%|████████▋ | 512/586 [00:13<00:02, 36.84it/s] 88%|████████▊ | 516/586 [00:14<00:01, 36.95it/s] 89%|████████▊ | 520/586 [00:14<00:01, 36.99it/s] 89%|████████▉ | 524/586 [00:14<00:01, 37.01it/s] 90%|█████████ | 528/586 [00:14<00:01, 37.08it/s] 91%|█████████ | 532/586 [00:14<00:01, 37.11it/s] 91%|█████████▏| 536/586 [00:14<00:01, 37.12it/s] 92%|█████████▏| 540/586 [00:14<00:01, 37.08it/s] 93%|█████████▎| 544/586 [00:14<00:01, 37.09it/s] 94%|█████████▎| 548/586 [00:14<00:01, 37.02it/s] 94%|█████████▍| 552/586 [00:15<00:00, 37.06it/s] 95%|█████████▍| 556/586 [00:15<00:00, 37.11it/s] 96%|█████████▌| 560/586 [00:15<00:00, 36.97it/s] 96%|█████████▌| 564/586 [00:15<00:00, 36.86it/s] 97%|█████████▋| 568/586 [00:15<00:00, 36.61it/s] 98%|█████████▊| 572/586 [00:15<00:00, 36.44it/s] 98%|█████████▊| 576/586 [00:15<00:00, 36.46it/s] 99%|█████████▉| 580/586 [00:15<00:00, 36.45it/s] 100%|█████████▉| 584/586 [00:15<00:00, 36.70it/s] 100%|██████████| 586/586 [00:15<00:00, 36.78it/s] +n136-128-154:821894:821894 [1] NCCL INFO cudaDriverVersion 12040 +n136-128-154:821894:821894 [1] NCCL INFO NCCL_SOCKET_FAMILY set by environment to AF_INET6 +n136-128-154:821894:821894 [1] NCCL INFO NCCL_SOCKET_IFNAME set by environment to =eth0 +n136-128-154:821894:821894 [1] NCCL INFO NCCL version 2.27.5+cuda12.9 +n136-128-154:821894:821894 [1] NCCL INFO Comm config Blocking set to 1 +n136-128-154:821894:822139 [1] NCCL INFO NET/Plugin: Could not find: none libnccl-net-none.so. +n136-128-154:821894:822139 [1] NCCL INFO NCCL_IB_DISABLE set by environment to 0. +n136-128-154:821894:822139 [1] NCCL INFO NCCL_SOCKET_FAMILY set by environment to AF_INET6 +n136-128-154:821894:822139 [1] NCCL INFO NCCL_SOCKET_IFNAME set by environment to =eth0 +n136-128-154:821894:822139 [1] NCCL INFO NCCL_IB_HCA set to mlx5 +n136-128-154:821894:822139 [1] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +n136-128-154:821894:822139 [1] NCCL INFO NET/IB : Using [0]mlx5_0:1/RoCE [1]mlx5_1:1/RoCE [2]mlx5_2:1/RoCE [3]mlx5_3:1/RoCE [RO]; OOB eth0:fdbd:dc03:9:451::154<0> +n136-128-154:821894:822139 [1] NCCL INFO Initialized NET plugin IB +n136-128-154:821894:822139 [1] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:821894:822139 [1] NCCL INFO Using network IB +n136-128-154:821894:822139 [1] NCCL INFO ncclCommInitRankConfig comm 0x113552a0 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0x183565ff2a06145b - Init START +n136-128-154:821894:822139 [1] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:821893:822105 [0] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:821894:822139 [1] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:821894:822139 [1] NCCL INFO Retrieving state for IB +n136-128-154:821894:822139 [1] NCCL INFO Initialized state 0 for IB +n136-128-154:821894:822139 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:821894:822139 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:821894:822139 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:821894:822139 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:821893:822105 [0] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:821893:822105 [0] NCCL INFO Retrieving state for IB +n136-128-154:821893:822105 [0] NCCL INFO Initialized state 0 for IB +n136-128-154:821893:822105 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:821893:822105 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:821893:822105 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:821893:822105 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:821894:822139 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:821894:822139 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:821894:822139 [1] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:821894:822139 [1] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:821894:822139 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:821894:822139 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:821894:822139 [1] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:821894:822139 [1] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:821894:822139 [1] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:821894:822139 [1] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:821894:822139 [1] NCCL INFO ========================================== +n136-128-154:821894:822139 [1] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:821894:822139 [1] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:821894:822139 [1] NCCL INFO Setting affinity for GPU 7 to 33-62,97-126 +n136-128-154:821894:822139 [1] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:821894:822139 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:821894:822139 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821894:822139 [1] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821894:822139 [1] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821894:822139 [1] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821894:822139 [1] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821894:822139 [1] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821894:822139 [1] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821893:822105 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:821893:822105 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:821893:822105 [0] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:821893:822105 [0] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:821893:822105 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:821893:822105 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:821893:822105 [0] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:821893:822105 [0] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:821893:822105 [0] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:821893:822105 [0] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:821893:822105 [0] NCCL INFO ========================================== +n136-128-154:821893:822105 [0] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:821893:822105 [0] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:821893:822105 [0] NCCL INFO Setting affinity for GPU 6 to 33-62,97-126 +n136-128-154:821893:822105 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:821893:822105 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:821893:822105 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:821893:822105 [0] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821893:822105 [0] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821893:822105 [0] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821893:822105 [0] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821893:822105 [0] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821893:822105 [0] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:821894:822139 [1] NCCL INFO comm 0x113552a0 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0 +n136-128-154:821893:822105 [0] NCCL INFO comm 0x114968c0 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0 +n136-128-154:821894:822139 [1] NCCL INFO Tree 0 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 0 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 12 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 12 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 1 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 1 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 13 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 13 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 2 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 2 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 14 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 14 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 3 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 3 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 15 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 15 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 4 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 4 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 16 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 16 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 5 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 5 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 17 : 0 -> 1 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 17 : -1 -> 0 -> 1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 6 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 6 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 18 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 18 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 7 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 7 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 19 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 19 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 8 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 8 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 20 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 20 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 9 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 9 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 21 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 21 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 10 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 10 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 22 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 22 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 11 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 11 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821894:822139 [1] NCCL INFO Tree 23 : -1 -> 1 -> 0/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Tree 23 : 1 -> 0 -> -1/-1/-1 +n136-128-154:821893:822105 [0] NCCL INFO Channel 00/24 : 0 1 +n136-128-154:821893:822105 [0] NCCL INFO Channel 01/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 00 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 02/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 01 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 03/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 02 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 04/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 03 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 05/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 04 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 06/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 05 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 07/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 06 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 08/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 07 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 09/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 08 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 10/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 09 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 11/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 10 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 12/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 11 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 13/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 12 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 14/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 13 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 15/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 14 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 16/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 15 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 17/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 16 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 18/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 17 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 19/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 18 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 20/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 19 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 21/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 20 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 22/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 21 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Channel 23/24 : 0 1 +n136-128-154:821894:822139 [1] NCCL INFO Ring 22 : 0 -> 1 -> 0 +n136-128-154:821894:822139 [1] NCCL INFO Ring 23 : 0 -> 1 -> 0 +n136-128-154:821893:822105 [0] NCCL INFO Ring 00 : 1 -> 0 -> 1 +n136-128-154:821894:822139 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] -1/-1/-1->1->0 [2] -1/-1/-1->1->0 [3] -1/-1/-1->1->0 [4] -1/-1/-1->1->0 [5] -1/-1/-1->1->0 [6] 0/-1/-1->1->-1 [7] 0/-1/-1->1->-1 [8] 0/-1/-1->1->-1 [9] 0/-1/-1->1->-1 [10] 0/-1/-1->1->-1 [11] 0/-1/-1->1->-1 [12] -1/-1/-1->1->0 [13] -1/-1/-1->1->0 [14] -1/-1/-1->1->0 [15] -1/-1/-1->1->0 [16] -1/-1/-1->1->0 [17] -1/-1/-1->1->0 [18] 0/-1/-1->1->-1 [19] 0/-1/-1->1->-1 [20] 0/-1/-1->1->-1 [21] 0/-1/-1->1->-1 [22] 0/-1/-1->1->-1 [23] 0/-1/-1->1->-1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 01 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 02 : 1 -> 0 -> 1 +n136-128-154:821894:822139 [1] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:821893:822105 [0] NCCL INFO Ring 03 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 04 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 05 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 06 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 07 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 08 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 09 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 10 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 11 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 12 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 13 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 14 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 15 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 16 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 17 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 18 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 19 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 20 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 21 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 22 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Ring 23 : 1 -> 0 -> 1 +n136-128-154:821893:822105 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1 [2] 1/-1/-1->0->-1 [3] 1/-1/-1->0->-1 [4] 1/-1/-1->0->-1 [5] 1/-1/-1->0->-1 [6] -1/-1/-1->0->1 [7] -1/-1/-1->0->1 [8] -1/-1/-1->0->1 [9] -1/-1/-1->0->1 [10] -1/-1/-1->0->1 [11] -1/-1/-1->0->1 [12] 1/-1/-1->0->-1 [13] 1/-1/-1->0->-1 [14] 1/-1/-1->0->-1 [15] 1/-1/-1->0->-1 [16] 1/-1/-1->0->-1 [17] 1/-1/-1->0->-1 [18] -1/-1/-1->0->1 [19] -1/-1/-1->0->1 [20] -1/-1/-1->0->1 [21] -1/-1/-1->0->1 [22] -1/-1/-1->0->1 [23] -1/-1/-1->0->1 +n136-128-154:821893:822105 [0] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:821894:822139 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:821894:822146 [1] NCCL INFO [Proxy Service] Device 1 CPU core 112 +n136-128-154:821894:822147 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 49 +n136-128-154:821893:822105 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:821893:822105 [0] NCCL INFO Check P2P Type isAllDirectP2p 1 directMode 0 +n136-128-154:821893:822148 [0] NCCL INFO [Proxy Service] Device 0 CPU core 36 +n136-128-154:821893:822149 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 37 +n136-128-154:821894:822139 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:821894:822139 [1] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:821893:822105 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:821893:822105 [0] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:821893:822105 [0] NCCL INFO CC Off, workFifoBytes 1048576 +n136-128-154:821894:822139 [1] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:821894:822139 [1] NCCL INFO ncclCommInitRankConfig comm 0x113552a0 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0x183565ff2a06145b - Init COMPLETE +n136-128-154:821894:822139 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 2 total 0.54 (kernels 0.12, alloc 0.23, bootstrap 0.00, allgathers 0.01, topo 0.08, graphs 0.00, connections 0.01, rest 0.09) +n136-128-154:821893:822105 [0] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:821893:822105 [0] NCCL INFO ncclCommInitRankConfig comm 0x114968c0 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0x183565ff2a06145b - Init COMPLETE +n136-128-154:821893:822105 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 2 total 6.96 (kernels 0.15, alloc 0.23, bootstrap 6.38, allgathers 0.01, topo 0.08, graphs 0.00, connections 0.01, rest 0.09) +n136-128-154:821894:822150 [1] NCCL INFO Channel 00/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 01/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 02/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 03/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 04/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 05/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 00/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 06/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 01/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 07/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 02/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 08/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 03/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 09/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 04/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 10/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 05/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 11/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 06/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 12/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 07/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 13/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 08/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 14/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 09/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 15/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 16/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 10/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 17/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 11/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 18/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 12/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 19/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 13/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 20/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 14/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 21/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 15/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 22/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 16/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Channel 23/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 17/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 18/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 19/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 20/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 21/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 22/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821893:822151 [0] NCCL INFO Channel 23/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:821894:822150 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +n136-128-154:821893:822151 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +2025-12-01:23:03:21 INFO [evaluator:559] Running loglikelihood requests +2025-12-01:23:03:21 INFO [evaluator:559] Running loglikelihood requests +Passed argument batch_size = auto:1. Detecting largest batch size + Running loglikelihood requests: 0%| | 0/2344 [00:00 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 01/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 02/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 03/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 04/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 05/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 06/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 07/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 08/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 09/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 10/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 11/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 12/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 13/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 14/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 15/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 16/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 17/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 18/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 19/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 20/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 21/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 22/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 23/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 24/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 25/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 26/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 27/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 28/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 29/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 30/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:821894:822970 [1] NCCL INFO Channel 31/1 : 1[7] -> 0[6] via P2P/CUMEM/read +fatal: detected dubious ownership in repository at '/mnt/bn/life-mllm/users/cxr/quantization' +To add an exception for this directory, call: + + git config --global --add safe.directory /mnt/bn/life-mllm/users/cxr/quantization +n136-128-154:821894:822974 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:821894:822974 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:821894:822974 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:821894:822974 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:821894:822974 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:821894:822974 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:821894:822146 [1] NCCL INFO misc/socket.cc:915 -> 3 +2025-12-01:23:15:58 INFO [loggers.evaluation_tracker:209] Saving results aggregated +hf (pretrained=/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B), gen_kwargs: (None), limit: None, num_fewshot: 25, batch_size: auto (9) +| Tasks |Version|Filter|n-shot| Metric | |Value | |Stderr| +|-------------|------:|------|-----:|--------|---|-----:|---|-----:| +|arc_challenge| 1|none | 25|acc |↑ |0.6655|± |0.0138| +| | |none | 25|acc_norm|↑ |0.6945|± |0.0135| + +[rank0]:[W1201 23:15:58.985377956 ProcessGroupNCCL.cpp:1524] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator()) +n136-128-154:821893:823024 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:821893:823024 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:821893:823024 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:821893:822148 [0] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:821893:823024 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:821893:823024 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:821893:823024 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:821894:822146 [1] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:821894:822974 [1] NCCL INFO comm 0x113552a0 rank 1 nranks 2 cudaDev 1 busId c9000 - Abort COMPLETE +n136-128-154:821893:823024 [0] NCCL INFO comm 0x114968c0 rank 0 nranks 2 cudaDev 0 busId c5000 - Abort COMPLETE +任务 arc_challenge 评估完成! + +================================================== +开始评估:任务=truthfulqa_mc1 | 少样本数=0 | 模型=Qwen2.5-32B +输出路径:results2/Qwen2.5-32B/base_truthfulqa_mc1.json +================================================== +The following values were not passed to `accelerate launch` and had defaults used instead: + More than one GPU was found, enabling multi-GPU training. + If this was unintended please pass in `--num_processes=1`. + `--num_machines` was set to a value of `1` + `--mixed_precision` was set to a value of `'no'` + `--dynamo_backend` was set to a value of `'no'` +To avoid this warning pass in values for each of the problematic parameters or run `accelerate config`. +2025-12-01:23:16:48 INFO [__main__:440] Selected Tasks: ['truthfulqa_mc1'] +2025-12-01:23:16:48 INFO [__main__:440] Selected Tasks: ['truthfulqa_mc1'] +2025-12-01:23:16:48 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:23:16:48 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:23:16:48 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:23:16:48 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:23:16:49 WARNING [accelerate.utils.other:513] Detected kernel version 5.4.143, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher. +2025-12-01:23:16:49 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:1'} +`torch_dtype` is deprecated! Use `dtype` instead! +2025-12-01:23:16:49 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:0'} +`torch_dtype` is deprecated! Use `dtype` instead! + Loading checkpoint shards: 0%| | 0/17 [00:00 +n136-128-154:823070:823256 [0] NCCL INFO Initialized NET plugin IB +n136-128-154:823070:823256 [0] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:823070:823256 [0] NCCL INFO Using network IB +n136-128-154:823070:823256 [0] NCCL INFO ncclCommInitRankConfig comm 0x11703740 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0xc7f0e4b2f8d4055b - Init START +2025-12-01:23:17:25 INFO [evaluator:305] num_fewshot has been set to 0 for truthfulqa_mc1 in its config. Manual configuration will be ignored. +2025-12-01:23:17:25 INFO [api.task:434] Building contexts for truthfulqa_mc1 on rank 1... + 0%| | 0/408 [00:00 +n136-128-154:823071:823265 [1] NCCL INFO Initialized NET plugin IB +n136-128-154:823071:823265 [1] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:823071:823265 [1] NCCL INFO Using network IB +n136-128-154:823071:823265 [1] NCCL INFO ncclCommInitRankConfig comm 0x1199ce00 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0xc7f0e4b2f8d4055b - Init START +n136-128-154:823071:823265 [1] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:823070:823256 [0] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:823071:823265 [1] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:823071:823265 [1] NCCL INFO Retrieving state for IB +n136-128-154:823071:823265 [1] NCCL INFO Initialized state 0 for IB +n136-128-154:823071:823265 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:823070:823256 [0] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:823070:823256 [0] NCCL INFO Retrieving state for IB +n136-128-154:823070:823256 [0] NCCL INFO Initialized state 0 for IB +n136-128-154:823071:823265 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:823070:823256 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:823071:823265 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:823070:823256 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:823071:823265 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:823070:823256 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:823070:823256 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:823071:823265 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823070:823256 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823071:823265 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823070:823256 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823071:823265 [1] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:823070:823256 [0] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:823071:823265 [1] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:823070:823256 [0] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:823071:823265 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823070:823256 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:823071:823265 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823070:823256 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:823071:823265 [1] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:823070:823256 [0] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:823071:823265 [1] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:823070:823256 [0] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:823071:823265 [1] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:823070:823256 [0] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:823071:823265 [1] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:823070:823256 [0] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:823071:823265 [1] NCCL INFO ========================================== +n136-128-154:823070:823256 [0] NCCL INFO ========================================== +n136-128-154:823071:823265 [1] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823070:823256 [0] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823071:823265 [1] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823070:823256 [0] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823071:823265 [1] NCCL INFO Setting affinity for GPU 7 to 33-62,97-126 +n136-128-154:823070:823256 [0] NCCL INFO Setting affinity for GPU 6 to 33-62,97-126 +n136-128-154:823071:823265 [1] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:823071:823265 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:823071:823265 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823071:823265 [1] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823071:823265 [1] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823071:823265 [1] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823071:823265 [1] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823071:823265 [1] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823071:823265 [1] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823070:823256 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:823070:823256 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:823070:823256 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823070:823256 [0] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823070:823256 [0] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823070:823256 [0] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823070:823256 [0] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823070:823256 [0] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823070:823256 [0] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823071:823265 [1] NCCL INFO comm 0x1199ce00 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0 +n136-128-154:823070:823256 [0] NCCL INFO comm 0x11703740 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0 +n136-128-154:823071:823265 [1] NCCL INFO Tree 0 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 12 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 0 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 1 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 12 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 13 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 1 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 2 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 13 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 14 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 2 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 3 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 14 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 15 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 3 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 4 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 15 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 16 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 4 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 5 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 16 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 17 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 5 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 6 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 17 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 18 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 6 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 7 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 18 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 19 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 7 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 8 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 19 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 20 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 8 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 9 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 20 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 21 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 9 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 10 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 21 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 22 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 10 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 11 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 22 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823071:823265 [1] NCCL INFO Tree 23 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 11 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Tree 23 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823070:823256 [0] NCCL INFO Channel 00/24 : 0 1 +n136-128-154:823070:823256 [0] NCCL INFO Channel 01/24 : 0 1 +n136-128-154:823070:823256 [0] NCCL INFO Channel 02/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 00 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 03/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 01 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 04/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 02 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 05/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 03 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 06/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 04 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 07/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 05 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 08/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 06 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 09/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 07 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 10/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 08 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 11/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 09 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 12/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 10 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 13/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 11 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 14/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 12 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 15/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 13 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 16/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 14 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 17/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 15 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 18/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 16 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 19/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 17 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 20/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 18 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 21/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 19 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 22/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 20 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Channel 23/24 : 0 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 21 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Ring 00 : 1 -> 0 -> 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 22 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Ring 01 : 1 -> 0 -> 1 +n136-128-154:823071:823265 [1] NCCL INFO Ring 23 : 0 -> 1 -> 0 +n136-128-154:823070:823256 [0] NCCL INFO Ring 02 : 1 -> 0 -> 1 +n136-128-154:823071:823265 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] -1/-1/-1->1->0 [2] -1/-1/-1->1->0 [3] -1/-1/-1->1->0 [4] -1/-1/-1->1->0 [5] -1/-1/-1->1->0 [6] 0/-1/-1->1->-1 [7] 0/-1/-1->1->-1 [8] 0/-1/-1->1->-1 [9] 0/-1/-1->1->-1 [10] 0/-1/-1->1->-1 [11] 0/-1/-1->1->-1 [12] -1/-1/-1->1->0 [13] -1/-1/-1->1->0 [14] -1/-1/-1->1->0 [15] -1/-1/-1->1->0 [16] -1/-1/-1->1->0 [17] -1/-1/-1->1->0 [18] 0/-1/-1->1->-1 [19] 0/-1/-1->1->-1 [20] 0/-1/-1->1->-1 [21] 0/-1/-1->1->-1 [22] 0/-1/-1->1->-1 [23] 0/-1/-1->1->-1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 03 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 04 : 1 -> 0 -> 1 +n136-128-154:823071:823265 [1] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:823070:823256 [0] NCCL INFO Ring 05 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 06 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 07 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 08 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 09 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 10 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 11 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 12 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 13 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 14 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 15 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 16 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 17 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 18 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 19 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 20 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 21 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 22 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Ring 23 : 1 -> 0 -> 1 +n136-128-154:823070:823256 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1 [2] 1/-1/-1->0->-1 [3] 1/-1/-1->0->-1 [4] 1/-1/-1->0->-1 [5] 1/-1/-1->0->-1 [6] -1/-1/-1->0->1 [7] -1/-1/-1->0->1 [8] -1/-1/-1->0->1 [9] -1/-1/-1->0->1 [10] -1/-1/-1->0->1 [11] -1/-1/-1->0->1 [12] 1/-1/-1->0->-1 [13] 1/-1/-1->0->-1 [14] 1/-1/-1->0->-1 [15] 1/-1/-1->0->-1 [16] 1/-1/-1->0->-1 [17] 1/-1/-1->0->-1 [18] -1/-1/-1->0->1 [19] -1/-1/-1->0->1 [20] -1/-1/-1->0->1 [21] -1/-1/-1->0->1 [22] -1/-1/-1->0->1 [23] -1/-1/-1->0->1 +n136-128-154:823070:823256 [0] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:823071:823265 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:823071:823272 [1] NCCL INFO [Proxy Service] Device 1 CPU core 98 +n136-128-154:823071:823273 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 99 +n136-128-154:823070:823256 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:823070:823256 [0] NCCL INFO Check P2P Type isAllDirectP2p 1 directMode 0 +n136-128-154:823070:823274 [0] NCCL INFO [Proxy Service] Device 0 CPU core 37 +n136-128-154:823070:823275 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 38 +n136-128-154:823071:823265 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:823071:823265 [1] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:823070:823256 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:823070:823256 [0] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:823070:823256 [0] NCCL INFO CC Off, workFifoBytes 1048576 +n136-128-154:823071:823265 [1] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:823071:823265 [1] NCCL INFO ncclCommInitRankConfig comm 0x1199ce00 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0xc7f0e4b2f8d4055b - Init COMPLETE +n136-128-154:823071:823265 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 2 total 0.53 (kernels 0.12, alloc 0.23, bootstrap 0.04, allgathers 0.00, topo 0.05, graphs 0.00, connections 0.01, rest 0.08) +n136-128-154:823070:823256 [0] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:823070:823256 [0] NCCL INFO ncclCommInitRankConfig comm 0x11703740 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0xc7f0e4b2f8d4055b - Init COMPLETE +n136-128-154:823070:823256 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 2 total 2.12 (kernels 0.14, alloc 0.20, bootstrap 1.64, allgathers 0.00, topo 0.05, graphs 0.00, connections 0.01, rest 0.09) +n136-128-154:823071:823277 [1] NCCL INFO Channel 00/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 01/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 02/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 03/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 04/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 05/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 00/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 06/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 01/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 07/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 02/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 08/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 03/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 09/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 04/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 10/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 05/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 11/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 06/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 12/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 07/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 13/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 08/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 14/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 09/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 15/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 10/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 16/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 11/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 17/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 12/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 18/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 13/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 19/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 14/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 20/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 15/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 21/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 16/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 22/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 17/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823071:823277 [1] NCCL INFO Channel 23/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 18/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 19/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 20/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 21/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 22/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Channel 23/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823070:823278 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +n136-128-154:823071:823277 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +2025-12-01:23:17:26 INFO [evaluator:559] Running loglikelihood requests +2025-12-01:23:17:26 INFO [evaluator:559] Running loglikelihood requests + Running loglikelihood requests: 0%| | 0/2066 [00:00 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 01/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 02/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 03/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 04/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 05/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 06/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 07/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 08/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 09/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 10/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 11/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 12/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 13/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 14/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 15/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 16/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 17/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 18/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 19/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 20/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 21/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 22/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 23/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 24/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 25/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 26/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 27/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 28/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 29/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 30/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823071:823454 [1] NCCL INFO Channel 31/1 : 1[7] -> 0[6] via P2P/CUMEM/read +fatal: detected dubious ownership in repository at '/mnt/bn/life-mllm/users/cxr/quantization' +To add an exception for this directory, call: + + git config --global --add safe.directory /mnt/bn/life-mllm/users/cxr/quantization +n136-128-154:823071:823460 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823071:823460 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823071:823460 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823071:823460 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823071:823460 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823071:823460 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823071:823272 [1] NCCL INFO misc/socket.cc:915 -> 3 +2025-12-01:23:20:01 INFO [loggers.evaluation_tracker:209] Saving results aggregated +hf (pretrained=/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B), gen_kwargs: (None), limit: None, num_fewshot: 0, batch_size: auto (64) +| Tasks |Version|Filter|n-shot|Metric| |Value | |Stderr| +|--------------|------:|------|-----:|------|---|-----:|---|-----:| +|truthfulqa_mc1| 2|none | 0|acc |↑ |0.4015|± |0.0172| + +[rank0]:[W1201 23:20:02.397062022 ProcessGroupNCCL.cpp:1524] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator()) +n136-128-154:823070:823509 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823070:823509 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823070:823509 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823070:823274 [0] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:823070:823509 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823070:823509 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823070:823509 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823071:823272 [1] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:823071:823460 [1] NCCL INFO comm 0x1199ce00 rank 1 nranks 2 cudaDev 1 busId c9000 - Abort COMPLETE +n136-128-154:823070:823509 [0] NCCL INFO comm 0x11703740 rank 0 nranks 2 cudaDev 0 busId c5000 - Abort COMPLETE +任务 truthfulqa_mc1 评估完成! + +================================================== +开始评估:任务=hellaswag | 少样本数=10 | 模型=Qwen2.5-32B +输出路径:results2/Qwen2.5-32B/base_hellaswag.json +================================================== +The following values were not passed to `accelerate launch` and had defaults used instead: + More than one GPU was found, enabling multi-GPU training. + If this was unintended please pass in `--num_processes=1`. + `--num_machines` was set to a value of `1` + `--mixed_precision` was set to a value of `'no'` + `--dynamo_backend` was set to a value of `'no'` +To avoid this warning pass in values for each of the problematic parameters or run `accelerate config`. +2025-12-01:23:20:51 INFO [__main__:440] Selected Tasks: ['hellaswag'] +2025-12-01:23:20:51 INFO [__main__:440] Selected Tasks: ['hellaswag'] +2025-12-01:23:20:51 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:23:20:51 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:23:20:51 INFO [evaluator:189] Setting random seed to 0 | Setting numpy seed to 1234 | Setting torch manual seed to 1234 | Setting fewshot manual seed to 1234 +2025-12-01:23:20:51 INFO [evaluator:227] Initializing hf model, with arguments: {'pretrained': '/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B'} +2025-12-01:23:20:52 WARNING [accelerate.utils.other:513] Detected kernel version 5.4.143, which is below the recommended minimum of 5.5.0; this can cause the process to hang. It is recommended to upgrade the kernel to the minimum version or higher. +2025-12-01:23:20:52 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:1'} +2025-12-01:23:20:52 INFO [models.huggingface:382] Model parallel was set to False, max memory was not set, and device map was set to {'': 'cuda:0'} +`torch_dtype` is deprecated! Use `dtype` instead! +`torch_dtype` is deprecated! Use `dtype` instead! + Loading checkpoint shards: 0%| | 0/17 [00:00 +n136-128-154:823558:823786 [1] NCCL INFO Initialized NET plugin IB +n136-128-154:823557:823785 [0] NCCL INFO NCCL_IB_PCI_RELAXED_ORDERING set by environment to 1. +n136-128-154:823557:823785 [0] NCCL INFO NET/IB : Using [0]mlx5_0:1/RoCE [1]mlx5_1:1/RoCE [2]mlx5_2:1/RoCE [3]mlx5_3:1/RoCE [RO]; OOB eth0:fdbd:dc03:9:451::154<0> +n136-128-154:823557:823785 [0] NCCL INFO Initialized NET plugin IB +n136-128-154:823558:823786 [1] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:823558:823786 [1] NCCL INFO Using network IB +n136-128-154:823557:823785 [0] NCCL INFO Assigned NET plugin IB to comm +n136-128-154:823557:823785 [0] NCCL INFO Using network IB +n136-128-154:823558:823786 [1] NCCL INFO ncclCommInitRankConfig comm 0x122852c0 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0x496e757c0d64cca9 - Init START +n136-128-154:823557:823785 [0] NCCL INFO ncclCommInitRankConfig comm 0x531ff3d0 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0x496e757c0d64cca9 - Init START +n136-128-154:823557:823785 [0] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:823558:823786 [1] NCCL INFO RAS client listening socket at ::1<28028> +n136-128-154:823557:823785 [0] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:823557:823785 [0] NCCL INFO Retrieving state for IB +n136-128-154:823557:823785 [0] NCCL INFO Initialized state 0 for IB +n136-128-154:823557:823785 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:823558:823786 [1] NCCL INFO TOPO/NET : Importing network plugins to topology +n136-128-154:823558:823786 [1] NCCL INFO Retrieving state for IB +n136-128-154:823558:823786 [1] NCCL INFO Initialized state 0 for IB +n136-128-154:823557:823785 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:823558:823786 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_0 in topo with pciPath=/sys/devices/pci0000:09/0000:09:02.0/0000:0a:00.0/0000:0b:08.0/0000:1b:00.0/0000:1c:00.0/0000:1d:00.0 keep=1 coll=(null) +n136-128-154:823557:823785 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:823558:823786 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_1 in topo with pciPath=/sys/devices/pci0000:43/0000:43:02.0/0000:44:00.0/0000:45:08.0/0000:5e:00.0/0000:5f:00.0/0000:60:00.0 keep=1 coll=(null) +n136-128-154:823557:823785 [0] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:823558:823786 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_2 in topo with pciPath=/sys/devices/pci0000:82/0000:82:02.0/0000:83:00.0/0000:84:08.0/0000:93:00.0/0000:94:00.0/0000:95:00.0 keep=1 coll=(null) +n136-128-154:823558:823786 [1] NCCL INFO ncclTopoPopulateNics : Filled mlx5_3 in topo with pciPath=/sys/devices/pci0000:be/0000:be:02.0/0000:bf:00.0/0000:c0:04.0/0000:ca:00.0/0000:cb:10.0/0000:cc:00.0 keep=1 coll=(null) +n136-128-154:823558:823786 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823558:823786 [1] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823557:823785 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 0 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823557:823785 [0] NCCL INFO GPU Direct RDMA Enabled for GPU 1 / HCA 3 (distance 5 <= 5), read 0 mode Default +n136-128-154:823558:823786 [1] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:823558:823786 [1] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:823558:823786 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:823558:823786 [1] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:823558:823786 [1] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:823558:823786 [1] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:823558:823786 [1] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:823558:823786 [1] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:823558:823786 [1] NCCL INFO ========================================== +n136-128-154:823558:823786 [1] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823558:823786 [1] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823558:823786 [1] NCCL INFO Setting affinity for GPU 7 to 33-62,97-126 +n136-128-154:823557:823785 [0] NCCL INFO === System : maxBw 240.0 totalBw 240.0 === +n136-128-154:823557:823785 [0] NCCL INFO CPU/0-1 (1/1/2) +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - PCI/0-83000 (1000c0101000ffff) +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - NIC/0-95000 +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - PCI/0-bf000 (1000c0101000ffff) +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - PCI/0-c3000 (1000c01010de13b8) +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - GPU/0-c5000 (0) +n136-128-154:823557:823785 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - PCI/0-c7000 (1000c01010de13b8) +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - GPU/0-c9000 (1) +n136-128-154:823557:823785 [0] NCCL INFO + NVL[240.0] - NVS/0-0 +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - NIC/0-cc000 +n136-128-154:823557:823785 [0] NCCL INFO + SYS[10.0] - CPU/0-0 +n136-128-154:823557:823785 [0] NCCL INFO CPU/0-0 (1/1/2) +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - PCI/0-a000 (1000c0101000ffff) +n136-128-154:823558:823786 [1] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - NIC/0-1d000 +n136-128-154:823558:823786 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - PCI/0-44000 (1000c0101000ffff) +n136-128-154:823558:823786 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO + PCI[24.0] - NIC/0-60000 +n136-128-154:823558:823786 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO + SYS[10.0] - CPU/0-1 +n136-128-154:823558:823786 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO ========================================== +n136-128-154:823558:823786 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO GPU/0-c5000 :GPU/0-c5000 (0/5000.0/LOC) GPU/0-c9000 (2/240.0/NVL) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823558:823786 [1] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO GPU/0-c9000 :GPU/0-c5000 (2/240.0/NVL) GPU/0-c9000 (0/5000.0/LOC) NVS/0-0 (1/240.0/NVL) CPU/0-1 (3/24.0/PHB) CPU/0-0 (4/10.0/SYS) +n136-128-154:823558:823786 [1] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO Setting affinity for GPU 6 to 33-62,97-126 +n136-128-154:823558:823786 [1] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:823558:823786 [1] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823558:823786 [1] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823558:823786 [1] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823558:823786 [1] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823558:823786 [1] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823558:823786 [1] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823558:823786 [1] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823557:823785 [0] NCCL INFO Pattern 4, crossNic 0, nChannels 12, bw 20.000000/20.000000, type NVL/PIX, sameChannels 1 +n136-128-154:823557:823785 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 6 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 7 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 8 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 9 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 10 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 11 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO Pattern 1, crossNic 0, nChannels 12, bw 40.000000/40.000000, type NVL/PIX, sameChannels 0 +n136-128-154:823557:823785 [0] NCCL INFO 0 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 1 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 2 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 3 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 4 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 5 : GPU/0-c5000 GPU/0-c9000 +n136-128-154:823557:823785 [0] NCCL INFO 6 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823557:823785 [0] NCCL INFO 7 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823557:823785 [0] NCCL INFO 8 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823557:823785 [0] NCCL INFO 9 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823557:823785 [0] NCCL INFO 10 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823557:823785 [0] NCCL INFO 11 : GPU/0-c9000 GPU/0-c5000 +n136-128-154:823558:823786 [1] NCCL INFO comm 0x122852c0 rank 1 nRanks 2 nNodes 1 localRanks 2 localRank 1 MNNVL 0 +n136-128-154:823557:823785 [0] NCCL INFO comm 0x531ff3d0 rank 0 nRanks 2 nNodes 1 localRanks 2 localRank 0 MNNVL 0 +n136-128-154:823558:823786 [1] NCCL INFO Tree 0 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 0 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 12 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 12 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 1 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 1 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 13 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 13 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 2 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 2 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 14 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 14 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 3 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 3 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 15 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 15 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 4 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 4 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 16 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 16 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 5 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 5 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 17 : 0 -> 1 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 17 : -1 -> 0 -> 1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 6 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 6 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 18 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 18 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 7 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 7 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 19 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 19 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 8 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 8 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 20 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 20 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 9 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 9 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 21 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 21 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 10 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 10 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 22 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 22 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 11 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 11 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823558:823786 [1] NCCL INFO Tree 23 : -1 -> 1 -> 0/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Tree 23 : 1 -> 0 -> -1/-1/-1 +n136-128-154:823557:823785 [0] NCCL INFO Channel 00/24 : 0 1 +n136-128-154:823557:823785 [0] NCCL INFO Channel 01/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 00 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 02/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 01 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 03/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 02 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 04/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 03 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 05/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 04 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 06/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 05 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 07/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 06 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 08/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 07 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 09/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 08 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 10/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 09 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 11/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 10 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 12/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 11 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 13/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 12 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 14/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 13 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 15/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 14 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 16/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 15 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 17/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 16 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 18/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 17 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 19/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 18 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 20/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 19 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 21/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 20 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 22/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 21 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Channel 23/24 : 0 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 22 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Ring 00 : 1 -> 0 -> 1 +n136-128-154:823558:823786 [1] NCCL INFO Ring 23 : 0 -> 1 -> 0 +n136-128-154:823557:823785 [0] NCCL INFO Ring 01 : 1 -> 0 -> 1 +n136-128-154:823558:823786 [1] NCCL INFO Trees [0] -1/-1/-1->1->0 [1] -1/-1/-1->1->0 [2] -1/-1/-1->1->0 [3] -1/-1/-1->1->0 [4] -1/-1/-1->1->0 [5] -1/-1/-1->1->0 [6] 0/-1/-1->1->-1 [7] 0/-1/-1->1->-1 [8] 0/-1/-1->1->-1 [9] 0/-1/-1->1->-1 [10] 0/-1/-1->1->-1 [11] 0/-1/-1->1->-1 [12] -1/-1/-1->1->0 [13] -1/-1/-1->1->0 [14] -1/-1/-1->1->0 [15] -1/-1/-1->1->0 [16] -1/-1/-1->1->0 [17] -1/-1/-1->1->0 [18] 0/-1/-1->1->-1 [19] 0/-1/-1->1->-1 [20] 0/-1/-1->1->-1 [21] 0/-1/-1->1->-1 [22] 0/-1/-1->1->-1 [23] 0/-1/-1->1->-1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 02 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 03 : 1 -> 0 -> 1 +n136-128-154:823558:823786 [1] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:823557:823785 [0] NCCL INFO Ring 04 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 05 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 06 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 07 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 08 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 09 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 10 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 11 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 12 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 13 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 14 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 15 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 16 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 17 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 18 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 19 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 20 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 21 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 22 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Ring 23 : 1 -> 0 -> 1 +n136-128-154:823557:823785 [0] NCCL INFO Trees [0] 1/-1/-1->0->-1 [1] 1/-1/-1->0->-1 [2] 1/-1/-1->0->-1 [3] 1/-1/-1->0->-1 [4] 1/-1/-1->0->-1 [5] 1/-1/-1->0->-1 [6] -1/-1/-1->0->1 [7] -1/-1/-1->0->1 [8] -1/-1/-1->0->1 [9] -1/-1/-1->0->1 [10] -1/-1/-1->0->1 [11] -1/-1/-1->0->1 [12] 1/-1/-1->0->-1 [13] 1/-1/-1->0->-1 [14] 1/-1/-1->0->-1 [15] 1/-1/-1->0->-1 [16] 1/-1/-1->0->-1 [17] 1/-1/-1->0->-1 [18] -1/-1/-1->0->1 [19] -1/-1/-1->0->1 [20] -1/-1/-1->0->1 [21] -1/-1/-1->0->1 [22] -1/-1/-1->0->1 [23] -1/-1/-1->0->1 +n136-128-154:823557:823785 [0] NCCL INFO P2P Chunksize set to 524288 +n136-128-154:823558:823786 [1] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:823558:823797 [1] NCCL INFO [Proxy Service] Device 1 CPU core 99 +n136-128-154:823558:823798 [1] NCCL INFO [Proxy Service UDS] Device 1 CPU core 39 +n136-128-154:823557:823785 [0] NCCL INFO PROFILER/Plugin: Could not find: libnccl-profiler.so. +n136-128-154:823557:823785 [0] NCCL INFO Check P2P Type isAllDirectP2p 1 directMode 0 +n136-128-154:823557:823799 [0] NCCL INFO [Proxy Service] Device 0 CPU core 105 +n136-128-154:823557:823800 [0] NCCL INFO [Proxy Service UDS] Device 0 CPU core 106 +n136-128-154:823558:823786 [1] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:823558:823786 [1] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:823557:823785 [0] NCCL INFO threadThresholds 8/8/64 | 16/8/64 | 512 | 512 +n136-128-154:823557:823785 [0] NCCL INFO 24 coll channels, 24 collnet channels, 0 nvls channels, 32 p2p channels, 32 p2p channels per peer +n136-128-154:823557:823785 [0] NCCL INFO CC Off, workFifoBytes 1048576 +n136-128-154:823558:823786 [1] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:823558:823786 [1] NCCL INFO ncclCommInitRankConfig comm 0x122852c0 rank 1 nranks 2 cudaDev 1 nvmlDev 7 busId c9000 commId 0x496e757c0d64cca9 - Init COMPLETE +n136-128-154:823558:823786 [1] NCCL INFO Init timings - ncclCommInitRankConfig: rank 1 nranks 2 total 0.45 (kernels 0.16, alloc 0.20, bootstrap 0.00, allgathers 0.00, topo 0.05, graphs 0.00, connections 0.01, rest 0.02) +n136-128-154:823557:823785 [0] NCCL INFO TUNER/Plugin: Could not find: libnccl-tuner.so. Using internal tuner plugin. +n136-128-154:823557:823785 [0] NCCL INFO ncclCommInitRankConfig comm 0x531ff3d0 rank 0 nranks 2 cudaDev 0 nvmlDev 6 busId c5000 commId 0x496e757c0d64cca9 - Init COMPLETE +n136-128-154:823557:823785 [0] NCCL INFO Init timings - ncclCommInitRankConfig: rank 0 nranks 2 total 0.46 (kernels 0.17, alloc 0.20, bootstrap 0.00, allgathers 0.00, topo 0.05, graphs 0.00, connections 0.01, rest 0.02) +n136-128-154:823558:823801 [1] NCCL INFO Channel 00/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 01/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 02/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 03/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 04/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 05/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 06/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 00/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 07/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 01/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 08/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 02/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 09/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 03/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 10/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 04/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 11/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 05/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 12/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 06/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 13/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 07/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 14/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 08/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 15/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 09/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 16/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 10/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 17/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 11/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 18/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 12/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 19/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 13/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 20/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 14/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 21/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 15/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 22/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 16/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Channel 23/0 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 17/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 18/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 19/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 20/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 21/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 22/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823557:823802 [0] NCCL INFO Channel 23/0 : 0[6] -> 1[7] via P2P/CUMEM/read +n136-128-154:823558:823801 [1] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +n136-128-154:823557:823802 [0] NCCL INFO Connected all rings, use ring PXN 0 GDR 1 +2025-12-01:23:22:01 INFO [evaluator:559] Running loglikelihood requests +2025-12-01:23:22:01 INFO [evaluator:559] Running loglikelihood requests + Running loglikelihood requests: 0%| | 0/20084 [00:00 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 01/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 02/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 03/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 04/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 05/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 06/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 07/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 08/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 09/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 10/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 11/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 12/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 13/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 14/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 15/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 16/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 17/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 18/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 19/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 20/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 21/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 22/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 23/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 24/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 25/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 26/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 27/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 28/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 29/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 30/1 : 1[7] -> 0[6] via P2P/CUMEM/read +n136-128-154:823558:829820 [1] NCCL INFO Channel 31/1 : 1[7] -> 0[6] via P2P/CUMEM/read +fatal: detected dubious ownership in repository at '/mnt/bn/life-mllm/users/cxr/quantization' +To add an exception for this directory, call: + + git config --global --add safe.directory /mnt/bn/life-mllm/users/cxr/quantization +n136-128-154:823558:829826 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823558:829826 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823558:829826 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823558:829826 [1] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823558:829826 [1] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823558:829826 [1] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823558:823797 [1] NCCL INFO misc/socket.cc:915 -> 3 +2025-12-02:00:52:01 INFO [loggers.evaluation_tracker:209] Saving results aggregated +hf (pretrained=/mnt/bn/life-mllm/users/cxr/quantization/models/Qwen/Qwen2.5-32B), gen_kwargs: (None), limit: None, num_fewshot: 10, batch_size: auto (11) +| Tasks |Version|Filter|n-shot| Metric | |Value | |Stderr| +|---------|------:|------|-----:|--------|---|-----:|---|-----:| +|hellaswag| 1|none | 10|acc |↑ |0.6586|± |0.0047| +| | |none | 10|acc_norm|↑ |0.8505|± |0.0036| + +[rank0]:[W1202 00:52:02.618550941 ProcessGroupNCCL.cpp:1524] Warning: WARNING: destroy_process_group() was not called before program exit, which can leak resources. For more info, please see https://pytorch.org/docs/stable/distributed.html#shutdown (function operator()) +n136-128-154:823557:829876 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823557:829876 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823557:829876 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823557:823799 [0] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:823557:829876 [0] NCCL INFO misc/socket.cc:64 -> 3 +n136-128-154:823558:823797 [1] NCCL INFO misc/socket.cc:915 -> 3 +n136-128-154:823557:829876 [0] NCCL INFO misc/socket.cc:81 -> 3 +n136-128-154:823557:829876 [0] NCCL INFO misc/socket.cc:863 -> 3 +n136-128-154:823558:829826 [1] NCCL INFO comm 0x122852c0 rank 1 nranks 2 cudaDev 1 busId c9000 - Abort COMPLETE +n136-128-154:823557:829876 [0] NCCL INFO comm 0x531ff3d0 rank 0 nranks 2 cudaDev 0 busId c5000 - Abort COMPLETE +任务 hellaswag 评估完成! diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/__init__.cpython-311.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a73d871823c0bfaa817bb51225d4d5f80ba7548f Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/__init__.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/group.cpython-310.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/group.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5b8b2a9db869b92b9c8e1dc81414f2a1864f0dd8 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/group.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/instance.cpython-310.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/instance.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bec47f5ea71423413a81b99e2d17680261085904 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/instance.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/metrics.cpython-310.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/metrics.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f0a876e63c7724f906d2380a4682c044b191bc5 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/metrics.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/model.cpython-310.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/model.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5720a8f190079c914dda6dfaa11335c24cd50c31 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/model.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/registry.cpython-311.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/registry.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d54d5f64a9d796a5196848e722e97d63023539d5 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/registry.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/samplers.cpython-310.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/samplers.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..68f1ff2493f621303f2c3c89843f9b6c0f400aac Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/samplers.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/samplers.cpython-311.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/samplers.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2bb52349e339fb633db1e9b75fc0d17c232d8e41 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/samplers.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/__pycache__/task.cpython-310.pyc b/lm-evaluation-harness/lm_eval/api/__pycache__/task.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..825695129a8a3528ee0aa3f83c291b3332fb3791 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/api/__pycache__/task.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/api/model.py b/lm-evaluation-harness/lm_eval/api/model.py new file mode 100644 index 0000000000000000000000000000000000000000..1debc9b4da2ed307951e50bf2351af971937e59a --- /dev/null +++ b/lm-evaluation-harness/lm_eval/api/model.py @@ -0,0 +1,493 @@ +import abc +import hashlib +import json +import logging +import os +from typing import Dict, List, Optional, Tuple, Type, TypeVar, Union + +import transformers +from sqlitedict import SqliteDict +from tqdm import tqdm + +from lm_eval import utils + + +eval_logger = logging.getLogger(__name__) + +T = TypeVar("T", bound="LM") + + +class LM(abc.ABC): + def __init__(self) -> None: + """Defines the interface that should be implemented by all LM subclasses. + LMs are assumed to take text (strings) as input and yield strings as output + (inputs/outputs should be tokenization-agnostic.) + + """ + # set rank and world size to a single process, by default. + self._rank = 0 + self._world_size = 1 + self.cache_hook = CacheHook(None) + + @abc.abstractmethod + def loglikelihood(self, requests) -> List[Tuple[float, bool]]: + """Compute log-likelihood of generating a continuation from a context. + Downstream tasks should attempt to use loglikelihood instead of other + LM calls whenever possible. + + :param requests: list[Instance] + A list of Instance objects, with property `args` which returns a tuple (context, continuation). + `context: str` + Context string. Implementations of LM must be able to handle an + empty context string. + `continuation: str` + The continuation over which log likelihood will be calculated. If + there is a word boundary, the space should be in the continuation. + For example, context="hello" continuation=" world" is correct. + + :return: list[tuple[float, bool]] + A list of pairs (logprob, isgreedy) + `logprob: float` + The log probability of `continuation`. + `isgreedy`: + Whether `continuation` would be generated by greedy sampling from `context`. + """ + pass + + @abc.abstractmethod + def loglikelihood_rolling(self, requests) -> List[float]: + """Compute full log-likelihood of a string, with no truncation, for perplexity computation + - We will use the full max context length of the model. + - For inputs that exceed the max context length, we divide the tokenized string into chunks of up to + the max context length. + - IMPORTANT: Each document's loglikelihood/perplexity is computed *separately*, unlike other implementations + which may simply concatenate multiple documents together. + - IMPORTANT: We maximize the amount of context for each prediction. Specifically, for inputs that we break into + multiple chunks, the last input will still a full-sized context. + Example: + Input tokens: [ 0 1 2 3 4 5 6 7 8 9 ] + Prefix: BOS/EOS + Max context length: 4 + Resulting input/prediction pairs: + + INPUT: BOS 0 1 2 + PRED: 0 1 2 3 + + INPUT: 3 4 5 6 + PRED: 4 5 6 7 + + INPUT: 5 6 7 8 + PRED: 8 9 + + Observe that: + 1. Each token is predicted exactly once + 2. For the last pair, we provide the full context, but only score the last two tokens + + :param requests: list[Instance] + A list of Instance objects with property `args` which returns a tuple (context,). + string: str + String for which we are computing overall loglikelihood + :return: list[tuple[float]] + A list of tuples (logprob,) + logprob: float + The log probability of `context` conditioned on the BOS/EOS token. + Can also be overridden for custom cases by `prefix_token_id`. + """ + pass + + # TODO: Add an optional max length + @abc.abstractmethod + def generate_until(self, requests) -> List[str]: + """Generate greedily until a stopping sequence + + :param requests: list[Instance] + A list of Instance objects with property `args` which returns a tuple (context, gen_kwargs). + context: str + Context string + gen_kwargs: dict + A dictionary of keyword arguments to pass to the generation function e.g. top_k, until, etc. + :return: list[str] + A list of model generated continuations. + continuation: str + The generated continuation. + """ + pass + + def apply_chat_template( + self, chat_history: List[Dict[str, str]], add_generation_prompt=True + ) -> str: + """ + Defines how to transform few-shot examples provided as chat history into a format that can be used as input to the LM. + + :param chat_history: list[dict[str, str]] + A list of dictionaries with keys 'role' and 'content'. + Values are strings representing the role name and the content of the message, respectively. + :param add_generation_prompt: bool + Whether to append an assistant gen prefix (for e.g. <|assistant|>) to the assistant messages in the chat history. False if prefilling an assistant message. + :return: str + A string representing the chat history in a format that can be used as input to the LM. + """ + raise NotImplementedError( + "To use this model with chat templates, please implement the 'apply_chat_template' method for your model type." + ) + + @classmethod + def create_from_arg_string( + cls: Type[T], arg_string: str, additional_config: Optional[dict] = None + ) -> T: + """ + Creates an instance of the LM class using the given argument string and additional config. + + Parameters: + - arg_string: A string containing arguments in the format key1=value1,key2=value2. + - additional_config: Optional dictionary containing additional configuration parameters. + + Returns: + - Instance of the LM class. + """ + additional_config = {} if additional_config is None else additional_config + args = utils.simple_parse_args_string(arg_string) + args2 = {k: v for k, v in additional_config.items() if v is not None} + return cls(**args, **args2) + + @classmethod + def create_from_arg_obj( + cls: Type[T], arg_dict: dict, additional_config: Optional[dict] = None + ) -> T: + """ + Creates an instance of the LM class using the given arg_obj + + Parameters: + - arg_obj: A dict containing arguments in the format key1=value1,key2=value2. + - additional_config: Optional dictionary containing additional configuration parameters. + + Returns: + - Instance of the LM class. + """ + + additional_config = {} if additional_config is None else additional_config + additional_config = { + k: v for k, v in additional_config.items() if v is not None + } + + return cls(**arg_dict, **additional_config) + + @property + def rank(self): + # used in the case of parallelism. Hardcoded to + # ensure no errors arise using API models which do + # not support multi-device parallelism nor expect it. + return self._rank + + @property + def world_size(self): + # used in the case of parallelism. Hardcoded to + # ensure no errors arise using API models which do + # not support multi-device parallelism nor expect it. + return self._world_size + + @property + def tokenizer_name(self) -> str: + """Must be defined for LM subclasses which implement Chat Templating. + Should return the name of the tokenizer or chat template used. + Used only to properly fingerprint caches when requests are being cached with `--cache_requests`, otherwise not used. + """ + raise NotImplementedError( + "To use this model with chat templates, please implement the 'tokenizer_name' property." + ) + + def chat_template(self, chat_template: Union[bool, str] = False) -> Optional[str]: + """Returns the chat template structure for user/assistant messages if a template is provided. + This method is intended to be overridden in a subclass to define a specific chat template format. + For models that do not support chat templates, this method returns None by default. + """ + + return "" + + def set_cache_hook(self, cache_hook) -> None: + self.cache_hook = cache_hook + + +### SQLite-based caching of LM responses +def hash_args(attr, args): + dat = json.dumps([attr] + list(args)) + return hashlib.sha256(dat.encode("utf-8")).hexdigest() + + +class CacheHook: + def __init__(self, cachinglm) -> None: + if cachinglm is None: + self.dbdict = None + return + + self.dbdict = cachinglm.dbdict + + def add_partial(self, attr, req, res) -> None: + if self.dbdict is None: + return + hsh = hash_args(attr, req) + self.dbdict[hsh] = res + + +class CachingLM: + def __init__(self, lm, cache_db) -> None: + """LM wrapper that returns cached results if they exist, and uses the underlying LM if not. + + :param lm: LM + Underlying LM + :param cache_db: str + Path to cache db + """ + self.lm = lm + self.cache_db = cache_db + if os.path.dirname(cache_db): + os.makedirs(os.path.dirname(cache_db), exist_ok=True) + self.dbdict = SqliteDict(cache_db, autocommit=True) + + # add hook to lm + lm.set_cache_hook(self.get_cache_hook()) + + def __getattr__(self, attr: str): + lm_attr = getattr(self.lm, attr) + if attr not in ["loglikelihood", "loglikelihood_rolling", "generate_until"]: + eval_logger.debug(f"Passing through attribute '{attr}' to underlying LM") + return lm_attr + + def fn(requests): + res = [] + remaining_reqs = [] + warned = False + # figure out which ones are cached and which ones are new + eval_logger.info( + f"Loading '{attr}' responses from cache '{self.cache_db}' where possible..." + ) + for req in tqdm(requests, desc="Checking cached requests"): + hsh = hash_args(attr, req.args) + if attr == "generate_until" and req.args[1].get("do_sample", False): + # when we are doing non-greedy generation, don't use the cache + # (else every "randomly sampled" generation would be identical for repeats > 1). + if not warned: + eval_logger.warning( + f"Arguments to lm.generate_until() '{req.args[1]}' include non-deterministic sampling. Caching will not be performed for such requests." + ) + warned = True + res.append(None) + remaining_reqs.append(req) + elif hsh in self.dbdict: + ob = self.dbdict[hsh] + + assert ob is not None + + res.append(ob) + else: + res.append(None) + remaining_reqs.append(req) + eval_logger.info( + f"Cached requests: {len(requests) - len(remaining_reqs)}, Requests remaining: {len(remaining_reqs)}" + ) + if remaining_reqs: + # actually run the LM on the requests that do not have cached results + rem_res = getattr(self.lm, attr)(remaining_reqs) + else: + rem_res = [] + + # stick the new ones back into the list and also cache any of the new ones + resptr = 0 + for req, r in zip(remaining_reqs, rem_res): + while res[resptr] is not None: + resptr += 1 + + res[resptr] = r + + # caching + hsh = hash_args(attr, req.args) + self.dbdict[hsh] = r + self.dbdict.commit() + + return res + + return fn + + def get_cache_hook(self): + return CacheHook(self) + + +class TemplateLM(LM): + """ + A class acting as intermediary between the LM base class + and boilerplate often included in other LM subclasses. + """ + + tokenizer = None + + @property + @abc.abstractmethod + def eot_token_id(self): + pass + + @property + def prefix_token_id(self): + # it is used as prefix for loglikelihood + return self.eot_token_id + + @abc.abstractmethod + def tok_encode(self, string: str, **kwargs) -> List[int]: + """ + Tokenize a string using the model's tokenizer and return a list of token IDs. + """ + pass + + @abc.abstractmethod + def _loglikelihood_tokens(self, requests, **kwargs) -> List[Tuple[float, bool]]: + pass + + def _encode_pair( + self, context: str, continuation: str + ) -> Tuple[List[int], List[int]]: + n_spaces = len(context) - len(context.rstrip()) + if n_spaces > 0: + continuation = context[-n_spaces:] + continuation + context = context[:-n_spaces] + + model_class = getattr(self, "AUTO_MODEL_CLASS", None) + + if model_class == transformers.AutoModelForSeq2SeqLM: + context_enc = self.tok_encode(context) + continuation_enc = self.tok_encode(continuation, add_special_tokens=False) + else: + whole_enc = self.tok_encode(context + continuation) + context_enc = self.tok_encode(context) + + context_enc_len = len(context_enc) + continuation_enc = whole_enc[context_enc_len:] + + return context_enc, continuation_enc + + def loglikelihood( + self, requests, disable_tqdm: bool = False + ) -> List[Tuple[float, bool]]: + new_reqs = [] + for context, continuation in [req.args for req in requests]: + if context == "": + # BOS or EOS as context + context_enc, continuation_enc = ( + [self.prefix_token_id], + self.tok_encode(continuation), + ) + else: + context_enc, continuation_enc = self._encode_pair(context, continuation) + + new_reqs.append(((context, continuation), context_enc, continuation_enc)) + + return self._loglikelihood_tokens(new_reqs, disable_tqdm=disable_tqdm) + + @abc.abstractmethod + def loglikelihood_rolling( + self, requests, disable_tqdm: bool = False + ) -> List[float]: + pass + + @abc.abstractmethod + def generate_until(self, requests, disable_tqdm: bool = False) -> List[str]: + pass + + def chat_template(self, chat_template: Union[bool, str] = False) -> Optional[str]: + """ + Set and get the appropriate chat template for the model. + This method sets the tokenizer's chat_template and returns the template string for reproducibility. + + The template selection logic is adapted from the Transformers library's `apply_chat_template` + method in the Tokenizer class. The original implementation can be found at: + https://github.com/huggingface/transformers/blob/fc35907f95459d7a6c5281dfadd680b6f7b620e3/src/transformers/tokenization_utils_base.py#L1687 + + This method ensures that the right template is chosen based on the following: + 0. If the model has no 'tokenizer' attribute: assumes that there is only a single possible chat template, handled on the model provider side internally. Returns the empty string. + 1. If the model's tokenizer has multiple templates: + a. Use the specified template if it exists in the dictionary. + b. Use the default template from the list if no specific template is provided. + c. Raise an error if no default template exists and no specific template is provided. + 2. If the model's tokenizer has a single template or no template: + a. Use the tokenizer's chat template if available. + b. Fall back to the default chat template if no tokenizer chat template exists. + + Args: + chat_template (Union[bool, str]): Specifies the chat template to use. + - If False or None, no template is applied. + - If True, the default or only available template is used. + - If a string, the template with the matching name is used. + + Returns: + Optional[str]: The selected chat template, or None if no template is applied. + """ + if self.tokenizer is None: + return "" + + if chat_template is False or chat_template is None: + eval_logger.warning( + "model.chat_template was called with the chat_template set to False or None. " + "Therefore no chat template will be applied. Make sure this is an intended behavior." + ) + return None + + # Convert boolean chat_template to None to ensure compatibility with the adapted logic + if isinstance(chat_template, bool): + chat_template = None + using_default_template = False + + # First, handle the cases when the model has a dict of multiple templates + try: + template = ( + self.tokenizer.chat_template or self.tokenizer.default_chat_template + ) + except AttributeError: + return None + + if isinstance(template, dict): + using_default_dict = self.tokenizer.chat_template is None + + if chat_template is not None: + if chat_template in template: + selected_template = template[chat_template] + if using_default_dict: + using_default_template = True + else: + raise ValueError( + f"The specified chat template '{chat_template}' is not available. " + f"Available template names are {sorted(template.keys())}." + ) + else: + # If user didn't pass a chat template, use the default template from the dict + if "default" in template: + selected_template = template["default"] + using_default_template = True + else: + raise ValueError( + "This model has multiple chat templates with no default specified! Please either pass a chat " + "template or the name of the template you wish to use to the `chat_template` argument. Available " + f"template names are {sorted(template.keys())}." + ) + + # Cases when the model has a single template or no template + else: + # priority: `chat_template` argument > `tokenizer.chat_template` > `tokenizer.default_chat_template + if isinstance(chat_template, str): + eval_logger.warning( + "Chat template name provided, but the tokenizer's chat template is not a dictionary. " + "Using the tokenizer's chat template or the default template instead." + ) + if self.tokenizer.chat_template is not None: + selected_template = self.tokenizer.chat_template + else: + selected_template = self.tokenizer.default_chat_template + using_default_template = True + + if using_default_template: + eval_logger.warning( + "No chat template is set for this tokenizer, falling back to a default class-level template. This is " + "very error-prone, because models are often trained with templates different from the class default! " + "Default chat templates are a legacy feature and will be removed in Transformers v4.43, at which " + "point any code depending on them will stop working. We recommend setting a valid chat template before " + "then to ensure that this model continues working without issues." + ) + + return selected_template diff --git a/lm-evaluation-harness/lm_eval/caching/__pycache__/cache.cpython-310.pyc b/lm-evaluation-harness/lm_eval/caching/__pycache__/cache.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6700c13c32aacc37eaae3b556fb34df6a9f54ce1 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/caching/__pycache__/cache.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/caching/cache.py b/lm-evaluation-harness/lm_eval/caching/cache.py new file mode 100644 index 0000000000000000000000000000000000000000..f8d293b0ff8b1ebac186f5ac078cdb49227562db --- /dev/null +++ b/lm-evaluation-harness/lm_eval/caching/cache.py @@ -0,0 +1,59 @@ +import hashlib +import logging +import os + +import dill + + +eval_logger = logging.getLogger(__name__) + + +MODULE_DIR = os.path.dirname(os.path.realpath(__file__)) + +OVERRIDE_PATH = os.getenv("LM_HARNESS_CACHE_PATH") + + +PATH = OVERRIDE_PATH if OVERRIDE_PATH else f"{MODULE_DIR}/.cache" + +# This should be sufficient for uniqueness +HASH_INPUT = "EleutherAI-lm-evaluation-harness" + +HASH_PREFIX = hashlib.sha256(HASH_INPUT.encode("utf-8")).hexdigest() + +FILE_SUFFIX = f".{HASH_PREFIX}.pickle" + + +def load_from_cache(file_name: str, cache: bool = False): + if not cache: + return + try: + path = f"{PATH}/{file_name}{FILE_SUFFIX}" + + with open(path, "rb") as file: + cached_task_dict = dill.loads(file.read()) + return cached_task_dict + + except Exception: + eval_logger.debug(f"{file_name} is not cached, generating...") + pass + + +def save_to_cache(file_name, obj): + if not os.path.exists(PATH): + os.mkdir(PATH) + + file_path = f"{PATH}/{file_name}{FILE_SUFFIX}" + + eval_logger.debug(f"Saving {file_path} to cache...") + with open(file_path, "wb") as file: + file.write(dill.dumps(obj)) + + +# NOTE the "key" param is to allow for flexibility +def delete_cache(key: str = ""): + files = os.listdir(PATH) + + for file in files: + if file.startswith(key) and file.endswith(FILE_SUFFIX): + file_path = f"{PATH}/{file}" + os.unlink(file_path) diff --git a/lm-evaluation-harness/lm_eval/decontamination/archiver.py b/lm-evaluation-harness/lm_eval/decontamination/archiver.py new file mode 100644 index 0000000000000000000000000000000000000000..c132232116c2ae5f5ab1dc3a2a0afc0dbd4ef1bd --- /dev/null +++ b/lm-evaluation-harness/lm_eval/decontamination/archiver.py @@ -0,0 +1,174 @@ +import datetime +import io +import json +import mmap +import os +from pathlib import Path +from typing import Any + +import jsonlines +import tqdm +import zstandard + + +def json_serial(obj: Any) -> str: + """JSON serializer for objects not serializable by default json code""" + + if isinstance(obj, (datetime.datetime,)): + return obj.isoformat() + raise TypeError("Type %s not serializable" % type(obj)) + + +# Modified version of lm_dataformat Archive for single file. +class Archive: + def __init__(self, file_path: str, compression_level: int = 3) -> None: + self.file_path = file_path + dir_name = os.path.dirname(file_path) + if dir_name: + os.makedirs(dir_name, exist_ok=True) + self.fh = open(self.file_path, "wb") + self.cctx = zstandard.ZstdCompressor(level=compression_level) + self.compressor = self.cctx.stream_writer(self.fh) + + def add_data(self, data, meta=None) -> None: + if meta is None: + meta = {} + self.compressor.write( + json.dumps({"text": data, "meta": meta}, default=json_serial).encode( + "UTF-8" + ) + + b"\n" + ) + + def commit(self) -> None: + self.compressor.flush(zstandard.FLUSH_FRAME) + self.fh.flush() + self.fh.close() + + +# Modified version of lm_dataformat Reader with self.fh set, allowing peeking for tqdm. +class Reader: + def __init__(self) -> None: + pass + + def read( + self, + file, + get_meta: bool = False, + autojoin_paragraphs: bool = True, + para_joiner: str = "\n\n", + ): + with open(file, "rb") as fh: + self.fh = fh + cctx = zstandard.ZstdDecompressor() + reader = io.BufferedReader(cctx.stream_reader(fh)) + rdr = jsonlines.Reader(reader) + for ob in rdr: + # naive jsonl where each object is just the string itself, with no meta. For legacy compatibility. + if isinstance(ob, str): + assert not get_meta + yield ob + continue + + text = ob["text"] + + if autojoin_paragraphs and isinstance(text, list): + text = para_joiner.join(text) + + if get_meta: + yield text, (ob["meta"] if "meta" in ob else {}) + else: + yield text + + +class TextArchive: + def __init__(self, file_path, mode: str = "rb+") -> None: + self.file_path = file_path + dir_name = os.path.dirname(file_path) + if dir_name: + os.makedirs(dir_name, exist_ok=True) + + if not os.path.exists(file_path): + Path(file_path).touch() + + self.fh = open(self.file_path, mode) + + def add_data(self, data) -> None: + self.fh.write(data.encode("UTF-8") + b"\n") + + def commit(self) -> None: + self.fh.flush() + self.fh.close() + + +class TextReader: + def __init__(self, file_path) -> None: + self.file_path = file_path + + # Optimized mmap read with infrequent tqdm updates to maintain speed + # Tested up to 250MB/s. + def read_tqdm(self, update_frequency: int = 10000): + current_file_position = 0 + line_counter = 0 + with ( + open(self.file_path, "r", encoding="utf-8") as fh, + tqdm.tqdm( + total=os.path.getsize(self.file_path), + dynamic_ncols=True, + unit="byte", + unit_scale=1, + ) as progress, + ): + with mmap.mmap(fh.fileno(), length=0, access=mmap.ACCESS_READ) as mmap_obj: + for line in iter(mmap_obj.readline, b""): + line = line.decode("utf-8") + line_counter += 1 + if line_counter == update_frequency: + new_file_pos = mmap_obj.tell() + bytes_read = new_file_pos - current_file_position + current_file_position = new_file_pos + progress.update(bytes_read) + line_counter = 0 + yield line[:-1] + + def read_and_tell(self): + current_file_position = 0 + with open(self.file_path, "r", encoding="utf8") as fh: + with mmap.mmap(fh.fileno(), length=0, access=mmap.ACCESS_READ) as mmap_obj: + for line in iter(mmap_obj.readline, b""): + line = line.decode("utf-8") + new_file_pos = mmap_obj.tell() + raw_bytes_read = new_file_pos - current_file_position + current_file_position = new_file_pos + yield line[:-1], raw_bytes_read + + def read(self): + with open(self.file_path, "r", encoding="utf8") as fh: + with mmap.mmap(fh.fileno(), length=0, access=mmap.ACCESS_READ) as mmap_obj: + for line in iter(mmap_obj.readline, b""): + line = line.decode("utf-8") + yield line[:-1] + + def read_slow(self): + with open(self.file_path, "r", encoding="utf8") as fh: + while True: + line = fh.readline() + if line == -1 or line == "": + break + else: + yield line[:-1] + + +# Optimized for speed. Decompresses the archive in shell before +# using the mmap'd TextReader. +class ZStdTextReader: + def __init__(self, file) -> None: + self.file = file + + def read_tqdm(self): + decompressed_file = self.file[:-4] + print("Decompressing file, please wait...") + os.system(f"zstd -d {self.file}") # linux decompress is faster + reader = TextReader(decompressed_file) + yield from reader.read_tqdm() + os.remove(decompressed_file) diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/__init__.cpython-310.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e454c603d93b1ea0f7bf74756856f2ef60bb61de Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/__init__.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/__init__.cpython-311.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..15aec0699de24c2f174566ee709607538bda933d Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/__init__.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/custom.cpython-310.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/custom.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2814418359e7dd86e04e629d87fd60d1118a5d0c Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/custom.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/custom.cpython-311.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/custom.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a7e2a2c8adc6c53535fc3b1e549af3fd4f6d71a8 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/custom.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/extraction.cpython-310.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/extraction.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..53631e7f6c65ade866787f2f53f5c3a59bcf3869 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/extraction.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/extraction.cpython-311.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/extraction.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e4b5467f822c713002d92c08541517d80c52efcc Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/extraction.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/selection.cpython-310.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/selection.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..34e682799ab189d4766c32793f47bcb1f9f0812e Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/selection.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/__pycache__/transformation.cpython-310.pyc b/lm-evaluation-harness/lm_eval/filters/__pycache__/transformation.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e63ac43d27247bebde223744c281747a8abc1833 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/filters/__pycache__/transformation.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/filters/custom.py b/lm-evaluation-harness/lm_eval/filters/custom.py new file mode 100644 index 0000000000000000000000000000000000000000..ab22c51eda74670aaea6699fc68992994c41932d --- /dev/null +++ b/lm-evaluation-harness/lm_eval/filters/custom.py @@ -0,0 +1,17 @@ +from lm_eval.api.filter import Filter +from lm_eval.api.registry import register_filter + + +@register_filter("custom") +class CustomFilter(Filter): + """ + Custom filter that applies a custom, user-defined function to the model responses. + """ + + def __init__(self, **kwargs) -> None: + self.filter_fn = kwargs.pop("filter_fn") + + super().__init__(**kwargs) + + def apply(self, resps, docs): + return self.filter_fn(resps, docs) diff --git a/lm-evaluation-harness/lm_eval/filters/decontamination.py b/lm-evaluation-harness/lm_eval/filters/decontamination.py new file mode 100644 index 0000000000000000000000000000000000000000..4eda4e022445355f191926790b2edf8f0cfa4bbd --- /dev/null +++ b/lm-evaluation-harness/lm_eval/filters/decontamination.py @@ -0,0 +1,25 @@ +from lm_eval.api.filter import Filter +from lm_eval.api.registry import register_filter + + +@register_filter("decontaminate") +class DecontaminationFilter(Filter): + """ + A filter which evaluates + """ + + name = "track_decontamination" + + def __init__(self, path) -> None: + """ + + TODO: make sure only ever run one time on the train set (should this be cached as a class var? keyed by value for "path"). + should further cache result on a given (task_name, doc_id) + """ + self._decontam_results = None + + def apply(self, resps, docs) -> None: + """ + Return {"no_contamination", "only_contamination"} keys for the 2 different subsets + """ + pass diff --git a/lm-evaluation-harness/lm_eval/filters/selection.py b/lm-evaluation-harness/lm_eval/filters/selection.py new file mode 100644 index 0000000000000000000000000000000000000000..8c670ed74d00655441cc45181fba1265f0db5290 --- /dev/null +++ b/lm-evaluation-harness/lm_eval/filters/selection.py @@ -0,0 +1,61 @@ +from collections import Counter + +from lm_eval.api.filter import Filter +from lm_eval.api.registry import register_filter + + +# TODO: implement "arg_max" filter. either it should take in an arbitrary "scoring"/reward function +# that takes an input and returns a scalar and then should select the max reward, +# or should implement different filters for different ways of handling a reward model's inference. + + +@register_filter("take_first") +class TakeFirstFilter(Filter): + def __init__(self) -> None: + """ + Can define custom behavior here, if an individual instantiation of a Filter class should have state. + """ + + def apply(self, resps, docs): + """ + Assuming each entry of `resps` is a list of model responses, we discard all but the first response. + """ + return map(lambda r: r[0], resps) + + +@register_filter("take_first_k") +class TakeKFilter(Filter): + def __init__(self, **kwargs) -> None: + self.k = kwargs.pop("k") + + super().__init__(**kwargs) + + def apply(self, resps, docs): + # need resp to be subscriptable to check below + resps = list(resps) + # check we have at least k responses per doc, else we can't take the first k + assert len(resps[0]) >= self.k, ( + f"Need at least {self.k} responses per doc to take first {self.k}, but got {len(resps[0])} only! Please increase TaskConfig.repeats ." + ) + return map(lambda r: r[: self.k], resps) + + +@register_filter("majority_vote") +class MajorityVoteFilter(Filter): + def __init__(self) -> None: + """ + Can define custom behavior here, if an individual instantiation of a Filter class should have state. + """ + + def apply(self, resps, docs): + """ + Each entry of `resps` is a list of model responses. + We select the response that occurs most frequently in each entry of `resps`. + """ + + def select_majority(resp): + counts = Counter(resp) + vote = counts.most_common(1)[0][0] + return vote + + return map(lambda r: [select_majority(r)], resps) diff --git a/lm-evaluation-harness/lm_eval/filters/transformation.py b/lm-evaluation-harness/lm_eval/filters/transformation.py new file mode 100644 index 0000000000000000000000000000000000000000..722c67403c8adbc499283a611df17eb1743307b8 --- /dev/null +++ b/lm-evaluation-harness/lm_eval/filters/transformation.py @@ -0,0 +1,122 @@ +import re + +from lm_eval.api.filter import Filter +from lm_eval.api.registry import register_filter + + +@register_filter("lowercase") +class LowercaseFilter(Filter): + def __init__(self) -> None: + pass + + def apply(self, resps, docs): + def filter_set(inst): + return [resp.lower() for resp in inst] + + return [filter_set(resp) for resp in resps] + + +@register_filter("uppercase") +class UppercaseFilter(Filter): + def __init__(self) -> None: + pass + + def apply(self, resps, docs): + def filter_set(inst): + return [resp.upper() for resp in inst] + + return [filter_set(resp) for resp in resps] + + +@register_filter("map") +class MapFilter(Filter): + def __init__(self, mapping_dict: dict = None, default_value=None) -> None: + """ + Initializes the MapFilter with a given mapping dictionary and default value. + + Args: + - mapping_dict (dict): A dictionary containing the key-value mappings. + Default is an empty dictionary. + - default_value (Any): The value to be returned when a key is not found in the mapping_dict. + Default is None. + + Example: + mapper = MapFilter({'A': 1, 'B': 2}, default_value=0) + """ + if mapping_dict is None: + mapping_dict = {} + assert isinstance(mapping_dict, dict), ( + "Provided mapping_dict is not a dictionary" + ) + self.mapping_dict = mapping_dict + self.default_value = default_value + + def apply(self, resps, docs): + def filter_set(inst): + return [self.mapping_dict.get(resp, self.default_value) for resp in inst] + + return [filter_set(resp) for resp in resps] + + +@register_filter("format_span") +class SPANFilter(Filter): + def __init__(self) -> None: + pass + + def apply(self, resps, docs): + def format_ner_text(text): + label_dict = { + "person": "PER", + "location": "LOC", + "organization": "ORG", + "counties": "LOC", + "places": "LOC", + "people": "PER", + "persons": "PER", + "company": "ORG", + "country": "LOC", + "continent": "LOC", + "time": "DATE", + "date": "DATE", + "per": "PER", + "loc": "LOC", + "org": "ORG", + } + text = text.lower() + for key, value in label_dict.items(): + text = text.replace(key, value) + + text = "$".join(i for i in text.split("$$")) + return text.rstrip("$$") + + def format_named_entities(text): + """ + Extract named entities from text and format them as 'label: value $$ label: value'. + Handles grouped entities (e.g., LOC: kenya, uganda) and excludes 'none' values. + """ + # Regular expression to match label: entities pattern + pattern = r"\b(PER|LOC|ORG|DATE):\s*([^$]+)" + # Normalize newline characters + text = text.replace("\n", "$").strip() + matches = re.findall(pattern, text) + + formatted_entities = [] + + for label, values in matches: + # Split multiple entities separated by commas and strip whitespace + entities = [value.strip() for value in values.split(",")] + + # Exclude 'none' entities + for entity in entities: + if entity.lower() != "none": + formatted_entities.append(f"{label.lower()}: {entity}") + + # Join entities with the desired separator + return " $ ".join(formatted_entities) + + def filter_set(inst): + return [ + format_named_entities(format_ner_text(resp.lower())) for resp in inst + ] + + return [filter_set(resp) for resp in resps] diff --git a/lm-evaluation-harness/lm_eval/loggers/__init__.py b/lm-evaluation-harness/lm_eval/loggers/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..02b7a6834c6486fde35ef02d715e90be3fba223a --- /dev/null +++ b/lm-evaluation-harness/lm_eval/loggers/__init__.py @@ -0,0 +1,2 @@ +from .evaluation_tracker import EvaluationTracker +from .wandb_logger import WandbLogger diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/__init__.cpython-310.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2268a4187d1f7cb2dc66a91ac30991f53328a135 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/__init__.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/__init__.cpython-311.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..1c147dce485fbbe03d6ce49351b6cb6389e92067 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/__init__.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/evaluation_tracker.cpython-310.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/evaluation_tracker.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d022f5d7a481a0f93fa5e91ba90870f1d5193a13 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/evaluation_tracker.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/evaluation_tracker.cpython-311.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/evaluation_tracker.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..39cd8f0a82cbce7feeb290d80acb9bcd7bea11ec Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/evaluation_tracker.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/utils.cpython-310.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/utils.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c801c2c28d85e5c2ad9cc5b6c815e341ea5f49c9 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/utils.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/utils.cpython-311.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/utils.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0723e2a6c8b8936e30fd17b82a3e097643969a2f Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/utils.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/wandb_logger.cpython-310.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/wandb_logger.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5f836bc5e59171cbb7f56898edde8eea3d377472 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/wandb_logger.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/__pycache__/wandb_logger.cpython-311.pyc b/lm-evaluation-harness/lm_eval/loggers/__pycache__/wandb_logger.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..352bfb2a0a5f2174a15d8d5ea65ad9f9bc8ca717 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/loggers/__pycache__/wandb_logger.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/loggers/evaluation_tracker.py b/lm-evaluation-harness/lm_eval/loggers/evaluation_tracker.py new file mode 100644 index 0000000000000000000000000000000000000000..634a62577439e89d7df23f93511f44e327e7f38e --- /dev/null +++ b/lm-evaluation-harness/lm_eval/loggers/evaluation_tracker.py @@ -0,0 +1,537 @@ +import json +import logging +import os +import re +import time +from collections import defaultdict +from dataclasses import asdict, dataclass +from datetime import datetime +from pathlib import Path + +from datasets import load_dataset +from datasets.utils.metadata import MetadataConfigs +from huggingface_hub import ( + DatasetCard, + DatasetCardData, + HfApi, + hf_hub_url, +) +from huggingface_hub.utils import build_hf_headers, get_session, hf_raise_for_status + +from lm_eval.utils import ( + get_file_datetime, + get_file_task_name, + get_results_filenames, + get_sample_results_filenames, + handle_non_serializable, + hash_string, + sanitize_list, + sanitize_model_name, + sanitize_task_name, +) + + +eval_logger = logging.getLogger(__name__) + + +@dataclass(init=False) +class GeneralConfigTracker: + """ + Tracker for the evaluation parameters. + + Attributes: + model_source (str): Source of the model (e.g. Hugging Face, GGUF, etc.) + model_name (str): Name of the model. + model_name_sanitized (str): Sanitized model name for directory creation. + start_time (float): Start time of the experiment. Logged at class init. + end_time (float): Start time of the experiment. Logged when calling [`GeneralConfigTracker.log_end_time`] + total_evaluation_time_seconds (str): Inferred total evaluation time in seconds (from the start and end times). + """ + + model_source: str = None + model_name: str = None + model_name_sanitized: str = None + system_instruction: str = None + system_instruction_sha: str = None + fewshot_as_multiturn: bool = None + chat_template: str = None + chat_template_sha: str = None + start_time: float = None + end_time: float = None + total_evaluation_time_seconds: str = None + + def __init__(self) -> None: + """Starts the evaluation timer.""" + self.start_time = time.perf_counter() + + @staticmethod + def _get_model_name(model_args: str) -> str: + """Extracts the model name from the model arguments.""" + + def extract_model_name(model_args: str, key: str) -> str: + """Extracts the model name from the model arguments using a key.""" + args_after_key = model_args.split(key)[1] + return args_after_key.split(",")[0] + + # order does matter, e.g. peft and delta are provided together with pretrained + prefixes = ["peft=", "delta=", "pretrained=", "model=", "path=", "engine="] + for prefix in prefixes: + if prefix in model_args: + return extract_model_name(model_args, prefix) + return "" + + def log_experiment_args( + self, + model_source: str, + model_args: str, + system_instruction: str, + chat_template: str, + fewshot_as_multiturn: bool, + ) -> None: + """Logs model parameters and job ID.""" + self.model_source = model_source + self.model_name = GeneralConfigTracker._get_model_name(model_args) + self.model_name_sanitized = sanitize_model_name(self.model_name) + self.system_instruction = system_instruction + self.system_instruction_sha = ( + hash_string(system_instruction) if system_instruction else None + ) + self.chat_template = chat_template + self.chat_template_sha = hash_string(chat_template) if chat_template else None + self.fewshot_as_multiturn = fewshot_as_multiturn + + def log_end_time(self) -> None: + """Logs the end time of the evaluation and calculates the total evaluation time.""" + self.end_time = time.perf_counter() + self.total_evaluation_time_seconds = str(self.end_time - self.start_time) + + +class EvaluationTracker: + """ + Keeps track and saves relevant information of the evaluation process. + Compiles the data from trackers and writes it to files, which can be published to the Hugging Face hub if requested. + """ + + def __init__( + self, + output_path: str = None, + hub_results_org: str = "", + hub_repo_name: str = "", + details_repo_name: str = "", + results_repo_name: str = "", + push_results_to_hub: bool = False, + push_samples_to_hub: bool = False, + public_repo: bool = False, + token: str = "", + leaderboard_url: str = "", + point_of_contact: str = "", + gated: bool = False, + ) -> None: + """ + Creates all the necessary loggers for evaluation tracking. + + Args: + output_path (str): Path to save the results. If not provided, the results won't be saved. + hub_results_org (str): The Hugging Face organization to push the results to. If not provided, the results will be pushed to the owner of the Hugging Face token. + hub_repo_name (str): The name of the Hugging Face repository to push the results to. If not provided, the results will be pushed to `lm-eval-results`. + details_repo_name (str): The name of the Hugging Face repository to push the details to. If not provided, the results will be pushed to `lm-eval-results`. + result_repo_name (str): The name of the Hugging Face repository to push the results to. If not provided, the results will not be pushed and will be found in the details_hub_repo. + push_results_to_hub (bool): Whether to push the results to the Hugging Face hub. + push_samples_to_hub (bool): Whether to push the samples to the Hugging Face hub. + public_repo (bool): Whether to push the results to a public or private repository. + token (str): Token to use when pushing to the Hugging Face hub. This token should have write access to `hub_results_org`. + leaderboard_url (str): URL to the leaderboard on the Hugging Face hub on the dataset card. + point_of_contact (str): Contact information on the Hugging Face hub dataset card. + gated (bool): Whether to gate the repository. + """ + self.general_config_tracker = GeneralConfigTracker() + + self.output_path = output_path + self.push_results_to_hub = push_results_to_hub + self.push_samples_to_hub = push_samples_to_hub + self.public_repo = public_repo + self.leaderboard_url = leaderboard_url + self.point_of_contact = point_of_contact + self.api = HfApi(token=token) if token else None + self.gated_repo = gated + + if not self.api and (push_results_to_hub or push_samples_to_hub): + raise ValueError( + "Hugging Face token is not defined, but 'push_results_to_hub' or 'push_samples_to_hub' is set to True. " + "Please provide a valid Hugging Face token by setting the HF_TOKEN environment variable." + ) + + if ( + self.api + and hub_results_org == "" + and (push_results_to_hub or push_samples_to_hub) + ): + hub_results_org = self.api.whoami()["name"] + eval_logger.warning( + f"hub_results_org was not specified. Results will be pushed to '{hub_results_org}'." + ) + + if hub_repo_name == "": + details_repo_name = ( + details_repo_name if details_repo_name != "" else "lm-eval-results" + ) + results_repo_name = ( + results_repo_name if results_repo_name != "" else details_repo_name + ) + else: + details_repo_name = hub_repo_name + results_repo_name = hub_repo_name + eval_logger.warning( + "hub_repo_name was specified. Both details and results will be pushed to the same repository. Using hub_repo_name is no longer recommended, details_repo_name and results_repo_name should be used instead." + ) + + self.details_repo = f"{hub_results_org}/{details_repo_name}" + self.details_repo_private = f"{hub_results_org}/{details_repo_name}-private" + self.results_repo = f"{hub_results_org}/{results_repo_name}" + self.results_repo_private = f"{hub_results_org}/{results_repo_name}-private" + + def save_results_aggregated( + self, + results: dict, + samples: dict, + ) -> None: + """ + Saves the aggregated results and samples to the output path and pushes them to the Hugging Face hub if requested. + + Args: + results (dict): The aggregated results to save. + samples (dict): The samples results to save. + """ + self.general_config_tracker.log_end_time() + + if self.output_path: + try: + eval_logger.info("Saving results aggregated") + + # calculate cumulative hash for each task - only if samples are provided + task_hashes = {} + if samples: + for task_name, task_samples in samples.items(): + sample_hashes = [ + s["doc_hash"] + s["prompt_hash"] + s["target_hash"] + for s in task_samples + ] + task_hashes[task_name] = hash_string("".join(sample_hashes)) + + # update initial results dict + results.update({"task_hashes": task_hashes}) + results.update(asdict(self.general_config_tracker)) + dumped = json.dumps( + results, + indent=2, + default=handle_non_serializable, + ensure_ascii=False, + ) + + path = Path(self.output_path if self.output_path else Path.cwd()) + self.date_id = datetime.now().isoformat().replace(":", "-") + if path.suffix == ".json": + path.parent.mkdir(parents=True, exist_ok=True) + file_results_aggregated = path.with_name( + f"{path.stem}_{self.date_id}.json" + ) + else: + path = path.joinpath( + self.general_config_tracker.model_name_sanitized + ) + path.mkdir(parents=True, exist_ok=True) + file_results_aggregated = path.joinpath( + f"results_{self.date_id}.json" + ) + + file_results_aggregated.open("w", encoding="utf-8").write(dumped) + + if self.api and self.push_results_to_hub: + repo_id = ( + self.results_repo + if self.public_repo + else self.results_repo_private + ) + self.api.create_repo( + repo_id=repo_id, + repo_type="dataset", + private=not self.public_repo, + exist_ok=True, + ) + self.api.upload_file( + repo_id=repo_id, + path_or_fileobj=str(file_results_aggregated), + path_in_repo=os.path.join( + self.general_config_tracker.model_name, + file_results_aggregated.name, + ), + repo_type="dataset", + commit_message=f"Adding aggregated results for {self.general_config_tracker.model_name}", + ) + eval_logger.info( + "Successfully pushed aggregated results to the Hugging Face Hub. " + f"You can find them at: {repo_id}" + ) + + except Exception as e: + eval_logger.warning("Could not save results aggregated") + eval_logger.info(repr(e)) + else: + eval_logger.info( + "Output path not provided, skipping saving results aggregated" + ) + + def save_results_samples( + self, + task_name: str, + samples: dict, + ) -> None: + """ + Saves the samples results to the output path and pushes them to the Hugging Face hub if requested. + + Args: + task_name (str): The task name to save the samples for. + samples (dict): The samples results to save. + """ + if self.output_path: + try: + eval_logger.info(f"Saving per-sample results for: {task_name}") + + path = Path(self.output_path if self.output_path else Path.cwd()) + if path.suffix == ".json": + path = path.parent + else: + path = path.joinpath( + self.general_config_tracker.model_name_sanitized + ) + path.mkdir(parents=True, exist_ok=True) + + file_results_samples = path.joinpath( + f"samples_{task_name}_{self.date_id}.jsonl" + ) + + for sample in samples: + # we first need to sanitize arguments and resps + # otherwise we won't be able to load the dataset + # using the datasets library + arguments = {} + for i, arg in enumerate(sample["arguments"]): + arguments[f"gen_args_{i}"] = {} + for j, tmp in enumerate(arg): + arguments[f"gen_args_{i}"][f"arg_{j}"] = tmp + + sample["resps"] = sanitize_list(sample["resps"]) + sample["filtered_resps"] = sanitize_list(sample["filtered_resps"]) + sample["arguments"] = arguments + sample["target"] = str(sample["target"]) + + sample_dump = ( + json.dumps( + sample, + default=handle_non_serializable, + ensure_ascii=False, + ) + + "\n" + ) + + with open(file_results_samples, "a", encoding="utf-8") as f: + f.write(sample_dump) + + if self.api and self.push_samples_to_hub: + repo_id = ( + self.details_repo + if self.public_repo + else self.details_repo_private + ) + self.api.create_repo( + repo_id=repo_id, + repo_type="dataset", + private=not self.public_repo, + exist_ok=True, + ) + try: + if self.gated_repo: + headers = build_hf_headers() + r = get_session().put( + url=f"https://huggingface.co/api/datasets/{repo_id}/settings", + headers=headers, + json={"gated": "auto"}, + ) + hf_raise_for_status(r) + except Exception as e: + eval_logger.warning("Could not gate the repository") + eval_logger.info(repr(e)) + self.api.upload_folder( + repo_id=repo_id, + folder_path=str(path), + path_in_repo=self.general_config_tracker.model_name_sanitized, + repo_type="dataset", + commit_message=f"Adding samples results for {task_name} to {self.general_config_tracker.model_name}", + ) + eval_logger.info( + f"Successfully pushed sample results for task: {task_name} to the Hugging Face Hub. " + f"You can find them at: {repo_id}" + ) + + except Exception as e: + eval_logger.warning("Could not save sample results") + eval_logger.info(repr(e)) + else: + eval_logger.info("Output path not provided, skipping saving sample results") + + def recreate_metadata_card(self) -> None: + """ + Creates a metadata card for the evaluation results dataset and pushes it to the Hugging Face hub. + """ + + eval_logger.info("Recreating metadata card") + repo_id = self.details_repo if self.public_repo else self.details_repo_private + + files_in_repo = self.api.list_repo_files(repo_id=repo_id, repo_type="dataset") + results_files = get_results_filenames(files_in_repo) + sample_files = get_sample_results_filenames(files_in_repo) + + # Build a dictionary to store the latest evaluation datetime for: + # - Each tested model and its aggregated results + # - Each task and sample results, if existing + # i.e. { + # "org__model_name__gsm8k": "2021-09-01T12:00:00", + # "org__model_name__ifeval": "2021-09-01T12:00:00", + # "org__model_name__results": "2021-09-01T12:00:00" + # } + latest_task_results_datetime = defaultdict(lambda: datetime.min.isoformat()) + + for file_path in sample_files: + file_path = Path(file_path) + filename = file_path.name + model_name = file_path.parent + task_name = get_file_task_name(filename) + results_datetime = get_file_datetime(filename) + task_name_sanitized = sanitize_task_name(task_name) + # Results and sample results for the same model and task will have the same datetime + samples_key = f"{model_name}__{task_name_sanitized}" + results_key = f"{model_name}__results" + latest_datetime = max( + latest_task_results_datetime[samples_key], + results_datetime, + ) + latest_task_results_datetime[samples_key] = latest_datetime + latest_task_results_datetime[results_key] = max( + latest_task_results_datetime[results_key], + latest_datetime, + ) + + # Create metadata card + card_metadata = MetadataConfigs() + + # Add the latest aggregated results to the metadata card for easy access + for file_path in results_files: + file_path = Path(file_path) + results_filename = file_path.name + model_name = file_path.parent + eval_date = get_file_datetime(results_filename) + eval_date_sanitized = re.sub(r"[^\w\.]", "_", eval_date) + results_filename = Path("**") / Path(results_filename).name + config_name = f"{model_name}__results" + sanitized_last_eval_date_results = re.sub( + r"[^\w\.]", "_", latest_task_results_datetime[config_name] + ) + + if eval_date_sanitized == sanitized_last_eval_date_results: + # Ensure that all results files are listed in the metadata card + current_results = card_metadata.get(config_name, {"data_files": []}) + current_results["data_files"].append( + {"split": eval_date_sanitized, "path": [str(results_filename)]} + ) + card_metadata[config_name] = current_results + # If the results file is the newest, update the "latest" field in the metadata card + card_metadata[config_name]["data_files"].append( + {"split": "latest", "path": [str(results_filename)]} + ) + + # Add the tasks details configs + for file_path in sample_files: + file_path = Path(file_path) + filename = file_path.name + model_name = file_path.parent + task_name = get_file_task_name(filename) + eval_date = get_file_datetime(filename) + task_name_sanitized = sanitize_task_name(task_name) + eval_date_sanitized = re.sub(r"[^\w\.]", "_", eval_date) + results_filename = Path("**") / Path(filename).name + config_name = f"{model_name}__{task_name_sanitized}" + sanitized_last_eval_date_results = re.sub( + r"[^\w\.]", "_", latest_task_results_datetime[config_name] + ) + if eval_date_sanitized == sanitized_last_eval_date_results: + # Ensure that all sample results files are listed in the metadata card + current_details_for_task = card_metadata.get( + config_name, {"data_files": []} + ) + current_details_for_task["data_files"].append( + {"split": eval_date_sanitized, "path": [str(results_filename)]} + ) + card_metadata[config_name] = current_details_for_task + # If the samples results file is the newest, update the "latest" field in the metadata card + card_metadata[config_name]["data_files"].append( + {"split": "latest", "path": [str(results_filename)]} + ) + + # Get latest results and extract info to update metadata card examples + latest_datetime = max(latest_task_results_datetime.values()) + latest_model_name = max( + latest_task_results_datetime, key=lambda k: latest_task_results_datetime[k] + ) + last_results_file = [ + f for f in results_files if latest_datetime.replace(":", "-") in f + ][0] + last_results_file_path = hf_hub_url( + repo_id=repo_id, filename=last_results_file, repo_type="dataset" + ) + latest_results_file = load_dataset( + "json", data_files=last_results_file_path, split="train" + ) + results_dict = latest_results_file["results"][0] + new_dictionary = {"all": results_dict} + new_dictionary.update(results_dict) + results_string = json.dumps(new_dictionary, indent=4) + + dataset_summary = ( + "Dataset automatically created during the evaluation run of model " + ) + if self.general_config_tracker.model_source == "hf": + dataset_summary += f"[{self.general_config_tracker.model_name}](https://huggingface.co/{self.general_config_tracker.model_name})\n" + else: + dataset_summary += f"{self.general_config_tracker.model_name}\n" + dataset_summary += ( + f"The dataset is composed of {len(card_metadata) - 1} configuration(s), each one corresponding to one of the evaluated task.\n\n" + f"The dataset has been created from {len(results_files)} run(s). Each run can be found as a specific split in each " + 'configuration, the split being named using the timestamp of the run.The "train" split is always pointing to the latest results.\n\n' + 'An additional configuration "results" store all the aggregated results of the run.\n\n' + "To load the details from a run, you can for instance do the following:\n" + ) + if self.general_config_tracker.model_source == "hf": + dataset_summary += ( + "```python\nfrom datasets import load_dataset\n" + f'data = load_dataset(\n\t"{repo_id}",\n\tname="{latest_model_name}",\n\tsplit="latest"\n)\n```\n\n' + ) + dataset_summary += ( + "## Latest results\n\n" + f"These are the [latest results from run {latest_datetime}]({last_results_file_path.replace('/resolve/', '/blob/')}) " + "(note that there might be results for other tasks in the repos if successive evals didn't cover the same tasks. " + 'You find each in the results and the "latest" split for each eval):\n\n' + f"```python\n{results_string}\n```" + ) + card_data = DatasetCardData( + dataset_summary=dataset_summary, + repo_url=f"https://huggingface.co/{self.general_config_tracker.model_name}", + pretty_name=f"Evaluation run of {self.general_config_tracker.model_name}", + leaderboard_url=self.leaderboard_url, + point_of_contact=self.point_of_contact, + ) + card_metadata.to_dataset_card_data(card_data) + card = DatasetCard.from_template( + card_data, + pretty_name=card_data.pretty_name, + ) + card.push_to_hub(repo_id, repo_type="dataset") diff --git a/lm-evaluation-harness/lm_eval/loggers/utils.py b/lm-evaluation-harness/lm_eval/loggers/utils.py new file mode 100644 index 0000000000000000000000000000000000000000..c2640953603635d2d96dd85bde9ef14b0175cac2 --- /dev/null +++ b/lm-evaluation-harness/lm_eval/loggers/utils.py @@ -0,0 +1,149 @@ +import logging +import os +import re +import subprocess +from importlib.metadata import version +from pathlib import Path +from typing import Any, Dict, Optional, Tuple, Union + +import numpy as np +from torch.utils.collect_env import get_pretty_env_info +from transformers import __version__ as trans_version + + +logger = logging.getLogger(__name__) + + +def remove_none_pattern(input_string: str) -> Tuple[str, bool]: + """Remove the ',none' substring from the input_string if it exists at the end. + + Args: + input_string (str): The input string from which to remove the ',none' substring. + + Returns: + Tuple[str, bool]: A tuple containing the modified input_string with the ',none' substring removed + and a boolean indicating whether the modification was made (True) or not (False). + """ + # Define the pattern to match ',none' at the end of the string + pattern = re.compile(r",none$") + + # Use sub() to replace ',none' with an empty string + result = re.sub(pattern, "", input_string) + + # check if the input_string changed + removed = result != input_string + + return result, removed + + +def _handle_non_serializable(o: Any) -> Union[int, str, list]: + """Handle non-serializable objects by converting them to serializable types. + + Args: + o (Any): The object to be handled. + + Returns: + Union[int, str, list]: The converted object. If the object is of type np.int64 or np.int32, + it will be converted to int. If the object is of type set, it will be converted + to a list. Otherwise, it will be converted to str. + """ + if isinstance(o, np.int64) or isinstance(o, np.int32): + return int(o) + elif isinstance(o, set): + return list(o) + else: + return str(o) + + +def get_commit_from_path(repo_path: Union[Path, str]) -> Optional[str]: + try: + git_folder = Path(repo_path, ".git") + if git_folder.is_file(): + git_folder = Path( + git_folder.parent, + git_folder.read_text(encoding="utf-8").split("\n")[0].split(" ")[-1], + ) + if Path(git_folder, "HEAD").exists(): + head_name = ( + Path(git_folder, "HEAD") + .read_text(encoding="utf-8") + .split("\n")[0] + .split(" ")[-1] + ) + head_ref = Path(git_folder, head_name) + git_hash = head_ref.read_text(encoding="utf-8").replace("\n", "") + else: + git_hash = None + except Exception as err: + logger.debug( + f"Failed to retrieve a Git commit hash from path: {str(repo_path)}. Error: {err}" + ) + return None + return git_hash + + +def get_git_commit_hash(): + """ + Gets the git commit hash of your current repo (if it exists). + Source: https://github.com/EleutherAI/gpt-neox/blob/b608043be541602170bfcfb8ec9bf85e8a0799e0/megatron/neox_arguments/neox_args.py#L42 + """ + try: + git_hash = subprocess.check_output(["git", "describe", "--always"]).strip() + git_hash = git_hash.decode() + except (subprocess.CalledProcessError, FileNotFoundError): + # FileNotFoundError occurs when git not installed on system + git_hash = get_commit_from_path(os.getcwd()) # git hash of repo if exists + return git_hash + + +def add_env_info(storage: Dict[str, Any]): + try: + pretty_env_info = get_pretty_env_info() + except Exception as err: + pretty_env_info = str(err) + try: + lm_eval_version = version("lm_eval") + except Exception as err: + lm_eval_version = str(err) + transformers_version = trans_version + upper_dir_commit = get_commit_from_path( + Path(os.getcwd(), "..") + ) # git hash of upper repo if exists + added_info = { + "pretty_env_info": pretty_env_info, + "transformers_version": transformers_version, + "lm_eval_version": lm_eval_version, + "upper_git_hash": upper_dir_commit, # in case this repo is submodule + } + storage.update(added_info) + + +def add_tokenizer_info(storage: Dict[str, Any], lm): + if getattr(lm, "tokenizer", False): + try: + tokenizer_info = { + "tokenizer_pad_token": [ + lm.tokenizer.pad_token, + str(lm.tokenizer.pad_token_id), + ], + "tokenizer_eos_token": [ + lm.tokenizer.eos_token, + str(lm.tokenizer.eos_token_id), + ], + "tokenizer_bos_token": [ + lm.tokenizer.bos_token, + str(lm.tokenizer.bos_token_id), + ], + "eot_token_id": getattr(lm, "eot_token_id", None), + "max_length": getattr(lm, "max_length", None), + } + storage.update(tokenizer_info) + except Exception as err: + logger.debug( + f"Logging detailed tokenizer info failed with {err}, skipping..." + ) + # seems gguf and textsynth do not have tokenizer + else: + logger.debug( + "LM does not have a 'tokenizer' attribute, not logging tokenizer metadata to results." + ) diff --git a/lm-evaluation-harness/lm_eval/loggers/wandb_logger.py b/lm-evaluation-harness/lm_eval/loggers/wandb_logger.py new file mode 100644 index 0000000000000000000000000000000000000000..8795f5d8343143ac3badcde98e536c003a1a3fb8 --- /dev/null +++ b/lm-evaluation-harness/lm_eval/loggers/wandb_logger.py @@ -0,0 +1,358 @@ +import copy +import json +import logging +from typing import Any, Dict, List, Literal, Tuple + +import numpy as np +import pandas as pd +from packaging.version import Version + +from lm_eval.loggers.utils import _handle_non_serializable, remove_none_pattern + + +logger = logging.getLogger(__name__) + + +def get_wandb_printer() -> Literal["Printer"]: + """Returns a wandb printer instance for pretty stdout.""" + from wandb.sdk.lib.printer import new_printer + + printer = new_printer() + return printer + + +class WandbLogger: + def __init__(self, init_args=None, config_args=None) -> None: + """Attaches to wandb logger if already initialized. Otherwise, passes init_args to wandb.init() and config_args to wandb.config.update() + + Args: + init_args Optional[Dict]: Arguments for init configuration. + config_args Optional[Dict]: Arguments for config + + Parse and log the results returned from evaluator.simple_evaluate() with: + wandb_logger.post_init(results) + wandb_logger.log_eval_result() + wandb_logger.log_eval_samples(results["samples"]) + """ + try: + import wandb + + assert Version(wandb.__version__) >= Version("0.13.6") + if Version(wandb.__version__) < Version("0.13.6"): + wandb.require("report-editing:v0") + except Exception as e: + logger.warning( + "To use the wandb reporting functionality please install wandb>=0.13.6.\n" + "To install the latest version of wandb run `pip install wandb --upgrade`\n" + f"{e}" + ) + + self.wandb_args: Dict[str, Any] = init_args or {} + self.wandb_config_args: Dict[str, Any] = config_args or {} + + # pop the step key from the args to save for all logging calls + self.step = self.wandb_args.pop("step", None) + + # initialize a W&B run + if wandb.run is None: + self.run = wandb.init(**self.wandb_args) + if self.wandb_config_args: + self.run.config.update(self.wandb_config_args) + else: + self.run = wandb.run + + self.printer = get_wandb_printer() + + def post_init(self, results: Dict[str, Any]) -> None: + self.results: Dict[str, Any] = copy.deepcopy(results) + self.task_names: List[str] = list(results.get("results", {}).keys()) + self.group_names: List[str] = list(results.get("groups", {}).keys()) + + def _get_config(self) -> Dict[str, Any]: + """Get configuration parameters.""" + self.task_configs = self.results.get("configs", {}) + cli_configs = self.results.get("config", {}) + configs = { + "task_configs": self.task_configs, + "cli_configs": cli_configs, + } + + return configs + + def _sanitize_results_dict(self) -> Tuple[Dict[str, str], Dict[str, Any]]: + """Sanitize the results dictionary.""" + _results = copy.deepcopy(self.results.get("results", dict())) + + # Remove None from the metric string name + tmp_results = copy.deepcopy(_results) + for task_name in self.task_names: + task_result = tmp_results.get(task_name, dict()) + for metric_name, metric_value in task_result.items(): + _metric_name, removed = remove_none_pattern(metric_name) + if removed: + _results[task_name][_metric_name] = metric_value + _results[task_name].pop(metric_name) + + # remove string valued keys from the results dict + wandb_summary = {} + for task in self.task_names: + task_result = _results.get(task, dict()) + for metric_name, metric_value in task_result.items(): + if isinstance(metric_value, str): + wandb_summary[f"{task}/{metric_name}"] = metric_value + + for summary_metric, summary_value in wandb_summary.items(): + _task, _summary_metric = summary_metric.split("/") + _results[_task].pop(_summary_metric) + + tmp_results = copy.deepcopy(_results) + for task_name, task_results in tmp_results.items(): + for metric_name, metric_value in task_results.items(): + _results[f"{task_name}/{metric_name}"] = metric_value + _results[task_name].pop(metric_name) + for task in self.task_names: + _results.pop(task) + + return wandb_summary, _results + + def _log_results_as_table(self) -> None: + """Generate and log evaluation results as a table to W&B.""" + columns = [ + "Version", + "Filter", + "num_fewshot", + "Metric", + "Value", + "Stderr", + ] + + def make_table(columns: List[str], key: str = "results"): + import wandb + + table = wandb.Table(columns=columns) + results = copy.deepcopy(self.results) + + for k, dic in results.get(key).items(): + if k in self.group_names and not key == "groups": + continue + version = results.get("versions").get(k) + if version == "N/A": + version = None + n = results.get("n-shot").get(k) + + for (mf), v in dic.items(): + m, _, f = mf.partition(",") + if m.endswith("_stderr"): + continue + if m == "alias": + continue + + if m + "_stderr" + "," + f in dic: + se = dic[m + "_stderr" + "," + f] + if se != "N/A": + se = "%.4f" % se + table.add_data(*[k, version, f, n, m, str(v), str(se)]) + else: + table.add_data(*[k, version, f, n, m, str(v), ""]) + + return table + + # log the complete eval result to W&B Table + table = make_table(["Tasks"] + columns, "results") + self.run.log({"evaluation/eval_results": table}, step=self.step) + + if "groups" in self.results.keys(): + table = make_table(["Groups"] + columns, "groups") + self.run.log({"evaluation/group_eval_results": table}, step=self.step) + + def _log_results_as_artifact(self) -> None: + """Log results as JSON artifact to W&B.""" + import wandb + + dumped = json.dumps( + self.results, indent=2, default=_handle_non_serializable, ensure_ascii=False + ) + artifact = wandb.Artifact("results", type="eval_results") + with artifact.new_file("results.json", mode="w", encoding="utf-8") as f: + f.write(dumped) + self.run.log_artifact(artifact) + + def log_eval_result(self) -> None: + """Log evaluation results to W&B.""" + # Log configs to wandb + configs = self._get_config() + self.run.config.update(configs, allow_val_change=self.step is not None) + + wandb_summary, self.wandb_results = self._sanitize_results_dict() + # update wandb.run.summary with items that were removed + self.run.summary.update(wandb_summary) + # Log the evaluation metrics to wandb + self.run.log(self.wandb_results, step=self.step) + # Log the evaluation metrics as W&B Table + self._log_results_as_table() + # Log the results dict as json to W&B Artifacts + self._log_results_as_artifact() + + def _generate_dataset( + self, data: List[Dict[str, Any]], config: Dict[str, Any] + ) -> pd.DataFrame: + """Generate a dataset from evaluation data. + + Args: + data (List[Dict[str, Any]]): The data to generate a dataset for. + config (Dict[str, Any]): The configuration of the task. + + Returns: + pd.DataFrame: A dataframe that is ready to be uploaded to W&B. + """ + ids = [x["doc_id"] for x in data] + labels = [x["target"] for x in data] + instance = [""] * len(ids) + resps = [""] * len(ids) + filtered_resps = [""] * len(ids) + model_outputs = {} + + metrics_list = config["metric_list"] + metrics = {} + for metric in metrics_list: + metric = metric.get("metric") + if metric in ["word_perplexity", "byte_perplexity", "bits_per_byte"]: + metrics[f"{metric}_loglikelihood"] = [x[metric][0] for x in data] + if metric in ["byte_perplexity", "bits_per_byte"]: + metrics[f"{metric}_bytes"] = [x[metric][1] for x in data] + else: + metrics[f"{metric}_words"] = [x[metric][1] for x in data] + else: + metrics[metric] = [x[metric] for x in data] + + if config["output_type"] == "loglikelihood": + instance = [x["arguments"][0][0] for x in data] + labels = [x["arguments"][0][1] for x in data] + resps = [ + f"log probability of continuation is {x['resps'][0][0][0]} " + + "\n\n" + + "continuation will {} generated with greedy sampling".format( + "not be" if not x["resps"][0][0][1] else "be" + ) + for x in data + ] + filtered_resps = [ + f"log probability of continuation is {x['filtered_resps'][0][0]} " + + "\n\n" + + "continuation will {} generated with greedy sampling".format( + "not be" if not x["filtered_resps"][0][1] else "be" + ) + for x in data + ] + elif config["output_type"] == "multiple_choice": + instance = [x["arguments"][0][0] for x in data] + choices = [ + "\n".join([f"{idx}. {y[1]}" for idx, y in enumerate(x["arguments"])]) + for x in data + ] + resps = [np.argmax([n[0][0] for n in x["resps"]]) for x in data] + filtered_resps = [ + np.argmax([n[0] for n in x["filtered_resps"]]) for x in data + ] + elif config["output_type"] == "loglikelihood_rolling": + instance = [x["arguments"][0][0] for x in data] + resps = [x["resps"][0][0] for x in data] + filtered_resps = [x["filtered_resps"][0] for x in data] + elif config["output_type"] == "generate_until": + instance = [x["arguments"][0][0] for x in data] + resps = [x["resps"][0][0] for x in data] + filtered_resps = [x["filtered_resps"][0] for x in data] + + model_outputs["raw_predictions"] = resps + model_outputs["filtered_predictions"] = filtered_resps + + df_data = { + "id": ids, + "data": instance, + } + if config["output_type"] == "multiple_choice": + df_data["choices"] = choices + + tmp_data = { + "input_len": [len(x) for x in instance], + "labels": labels, + "output_type": config["output_type"], + } + df_data.update(tmp_data) + df_data.update(model_outputs) + df_data.update(metrics) + + return pd.DataFrame(df_data) + + def _log_samples_as_artifact( + self, data: List[Dict[str, Any]], task_name: str + ) -> None: + import wandb + + # log the samples as an artifact + dumped = json.dumps( + data, + indent=2, + default=_handle_non_serializable, + ensure_ascii=False, + ) + artifact = wandb.Artifact(f"{task_name}", type="samples_by_task") + with artifact.new_file( + f"{task_name}_eval_samples.json", mode="w", encoding="utf-8" + ) as f: + f.write(dumped) + self.run.log_artifact(artifact) + # artifact.wait() + + def log_eval_samples(self, samples: Dict[str, List[Dict[str, Any]]]) -> None: + """Log evaluation samples to W&B. + + Args: + samples (Dict[str, List[Dict[str, Any]]]): Evaluation samples for each task. + """ + task_names: List[str] = [ + x for x in self.task_names if x not in self.group_names + ] + + ungrouped_tasks = [] + tasks_by_groups = {} + + for task_name in task_names: + group_names = self.task_configs[task_name].get("group", None) + if group_names: + if isinstance(group_names, str): + group_names = [group_names] + + for group_name in group_names: + if not tasks_by_groups.get(group_name): + tasks_by_groups[group_name] = [task_name] + else: + tasks_by_groups[group_name].append(task_name) + else: + ungrouped_tasks.append(task_name) + + for task_name in ungrouped_tasks: + eval_preds = samples[task_name] + + # log the samples as a W&B Table + df = self._generate_dataset(eval_preds, self.task_configs.get(task_name)) + self.run.log({f"{task_name}_eval_results": df}, step=self.step) + + # log the samples as a json file as W&B Artifact + self._log_samples_as_artifact(eval_preds, task_name) + + for group, grouped_tasks in tasks_by_groups.items(): + grouped_df = pd.DataFrame() + for task_name in grouped_tasks: + eval_preds = samples[task_name] + df = self._generate_dataset( + eval_preds, self.task_configs.get(task_name) + ) + df["group"] = group + df["task"] = task_name + grouped_df = pd.concat([grouped_df, df], ignore_index=True) + + # log the samples as a json file as W&B Artifact + self._log_samples_as_artifact(eval_preds, task_name) + + self.run.log({f"{group}_eval_results": grouped_df}, step=self.step) diff --git a/lm-evaluation-harness/lm_eval/models/__init__.py b/lm-evaluation-harness/lm_eval/models/__init__.py new file mode 100644 index 0000000000000000000000000000000000000000..8582f0198821166f67155d29d6a358a4869cdb5a --- /dev/null +++ b/lm-evaluation-harness/lm_eval/models/__init__.py @@ -0,0 +1,36 @@ +from . import ( + anthropic_llms, + api_models, + dummy, + gguf, + hf_audiolm, + hf_steered, + hf_vlms, + huggingface, + ibm_watsonx_ai, + mamba_lm, + nemo_lm, + neuralmagic, + neuron_optimum, + openai_completions, + optimum_ipex, + optimum_lm, + sglang_causallms, + sglang_generate_API, + textsynth, + vllm_causallms, + vllm_vlms, +) + + +# TODO: implement __all__ + + +try: + # enable hf hub transfer if available + import hf_transfer # type: ignore # noqa + import huggingface_hub.constants # type: ignore + + huggingface_hub.constants.HF_HUB_ENABLE_HF_TRANSFER = True +except ImportError: + pass diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/__init__.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5e67037c54f06fa132cb48de5966639c464ef58c Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/__init__.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/__init__.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b4757b784fb4d4e0cfd129c9f2772fa367923f26 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/__init__.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/anthropic_llms.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/anthropic_llms.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..751b681b42e9d9a4809c4f96e5acff3090422386 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/anthropic_llms.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/anthropic_llms.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/anthropic_llms.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e7321ae87797a94760e6cd533fc4ca34822adbcb Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/anthropic_llms.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/api_models.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/api_models.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bb123deb3901cdef4dbe2a0d667d50158ce9927 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/api_models.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/api_models.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/api_models.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..b73afab967184943e23e9db1c2126338aa1b5811 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/api_models.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/dummy.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/dummy.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..10102e10193bf96a275c0849329ac0963bea9e2d Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/dummy.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/dummy.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/dummy.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..eae174c735880f254cf9f2ddc5162767a5e08509 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/dummy.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/gguf.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/gguf.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8919da7d7b2f552cd9aaa0d78224653e2c638a63 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/gguf.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/gguf.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/gguf.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9c8b9a74301c8c302bb2eb3e71ea736edc75ec94 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/gguf.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/hf_audiolm.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_audiolm.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..408085dd920c3ab675fabcd6ea25656984ee2530 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_audiolm.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/hf_audiolm.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_audiolm.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ff0c6683692c6c3239f8204a2c9dc88139bd0ba0 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_audiolm.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/hf_steered.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_steered.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3f774df34643fb183c08dcfe6588734f8a4feb46 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_steered.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/hf_vlms.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_vlms.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fb88b5beec993113406876b7629c26dbfb84845a Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_vlms.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/hf_vlms.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_vlms.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3645017e8ecd6cccbaef1efb536b4a4989c6b2ba Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/hf_vlms.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/huggingface.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/huggingface.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..0db427bd098bc5a55833d02e66d94e5da49878d0 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/huggingface.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/huggingface.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/huggingface.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..15e73b486a0e77687ada2451257a120cc2a7ba39 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/huggingface.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/ibm_watsonx_ai.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/ibm_watsonx_ai.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..45e4aaded16adc489417d859f02bc2a11a2f00a7 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/ibm_watsonx_ai.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/mamba_lm.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/mamba_lm.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2abbeaefa4472e7eebdfff52bd0d348cf46c8097 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/mamba_lm.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/mamba_lm.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/mamba_lm.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f857b833fc4bddbd662e61f96eff2dc5d927c91f Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/mamba_lm.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/nemo_lm.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/nemo_lm.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..223c04c2c1dc6608e7e77dc65878e538a9c1a514 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/nemo_lm.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/nemo_lm.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/nemo_lm.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d8173c5a27e657c804808641b9e05442cbb991ae Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/nemo_lm.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/neuralmagic.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/neuralmagic.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bcddb65015e52d086df10d71328680d2bec7f1cd Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/neuralmagic.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/neuralmagic.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/neuralmagic.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..68ba6bb825bd9f4a5502122af8a61ecc4e380b0e Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/neuralmagic.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/neuron_optimum.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/neuron_optimum.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..be5b79ecc0abec36da04110c5f0636b852cab377 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/neuron_optimum.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/neuron_optimum.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/neuron_optimum.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..653bfb7853b7efb368ef58f420c500bb7cc79ec4 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/neuron_optimum.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/openai_completions.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/openai_completions.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..fdee599e1bda76fcd788855ed100dc97d51f4525 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/openai_completions.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/optimum_ipex.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/optimum_ipex.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..55ed2e3585c061218797c439644dd14e0a31c647 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/optimum_ipex.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/optimum_lm.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/optimum_lm.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ffff6716d270dfdcf723d2fc62a299fc9f0b8c77 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/optimum_lm.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_causallms.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_causallms.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..dd921cbf29d48af5b08d121ab33a7b4a749f2552 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_causallms.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_causallms.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_causallms.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca310ca3b4abd048a36ce8b17a1386d08df00a37 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_causallms.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_generate_API.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_generate_API.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..8c5d0cb82339405092003b564ba769c51a2eb420 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/sglang_generate_API.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/textsynth.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/textsynth.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5e9849cd95be6ef08a77b45bd8f5337beb789261 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/textsynth.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/vllm_causallms.cpython-310.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/vllm_causallms.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a36e5384fe5ce77830597dfbacf36e4a5ae37df8 Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/vllm_causallms.cpython-310.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/__pycache__/vllm_causallms.cpython-311.pyc b/lm-evaluation-harness/lm_eval/models/__pycache__/vllm_causallms.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e2284911e64fe610e8cfd7fa96f7ad493896c8fb Binary files /dev/null and b/lm-evaluation-harness/lm_eval/models/__pycache__/vllm_causallms.cpython-311.pyc differ diff --git a/lm-evaluation-harness/lm_eval/models/anthropic_llms.py b/lm-evaluation-harness/lm_eval/models/anthropic_llms.py new file mode 100644 index 0000000000000000000000000000000000000000..ed4599758f1c5635534655890917f24774bfaf5b --- /dev/null +++ b/lm-evaluation-harness/lm_eval/models/anthropic_llms.py @@ -0,0 +1,367 @@ +import logging +import os +from functools import cached_property +from typing import Any, Dict, List, Tuple, Union + +from tqdm import tqdm + +from lm_eval.api.model import LM +from lm_eval.api.registry import register_model +from lm_eval.models.openai_completions import LocalCompletionsAPI +from lm_eval.models.utils import handle_stop_sequences, retry_on_specific_exceptions + + +eval_logger = logging.getLogger(__name__) + + +def anthropic_completion( + client, #: anthropic.Anthropic, + model: str, + prompt: str, + max_tokens_to_sample: int, + temperature: float, + stop: List[str], + **kwargs: Any, +) -> str: + """Wrapper function around the Anthropic completion API client with exponential back-off + in case of RateLimitError. + + params: + client: anthropic.Anthropic + Anthropic API client + model: str + Anthropic model e.g. 'claude-instant-v1', 'claude-2' + prompt: str + Prompt to feed to the model + max_tokens_to_sample: int + Maximum number of tokens to sample from the model + temperature: float + Sampling temperature + stop: List[str] + List of stop sequences + kwargs: Any + Additional model_args to pass to the API client + """ + + try: + import anthropic + except ModuleNotFoundError as exception: + raise type(exception)( + "attempted to use 'anthropic' LM type, but package `anthropic` is not installed. \ +please install anthropic via `pip install 'lm-eval[anthropic]'` or `pip install -e '.[anthropic]'`", + ) + + def _exception_callback(e: Exception, sleep_time: float) -> None: + eval_logger.warning( + f"RateLimitError occurred: {e.__cause__}\n Retrying in {sleep_time} seconds" + ) + + @retry_on_specific_exceptions( + on_exceptions=[anthropic.RateLimitError], + max_retries=None, # retry forever, consider changing + on_exception_callback=_exception_callback, + ) + def completion(): + response = client.completions.create( + prompt=f"{anthropic.HUMAN_PROMPT} {prompt}{anthropic.AI_PROMPT}", + model=model, + # NOTE: Claude really likes to do CoT, and overly aggressive stop sequences + # (e.g. gsm8k's ":") may truncate a lot of the input. + stop_sequences=[anthropic.HUMAN_PROMPT] + stop, + max_tokens_to_sample=max_tokens_to_sample, + temperature=temperature, + **kwargs, + ) + return response.completion + + return completion() + + +def anthropic_chat( + client, #: anthropic.Anthropic, + model: str, + prompt: str, + max_tokens: int, + temperature: float, + stop: List[str], + **kwargs: Any, +) -> str: + """Wrapper function around the Anthropic completion API client with exponential back-off + in case of RateLimitError. + + params: + client: anthropic.Anthropic + Anthropic API client + model: str + Anthropic model e.g. 'claude-3-opus-20240229', 'claude-3-sonnet-20240229' + prompt: str + Prompt to feed to the model + max_tokens: int + Maximum number of tokens to sample from the model + temperature: float + Sampling temperature + stop: List[str] + List of stop sequences + kwargs: Any + Additional model_args to pass to the API client + """ + + try: + import anthropic + except ModuleNotFoundError as exception: + raise type(exception)( + "attempted to use 'anthropic' LM type, but package `anthropic` is not installed. \ +please install anthropic via `pip install 'lm-eval[anthropic]'` or `pip install -e '.[anthropic]'`", + ) + + def _exception_callback(e: Exception, sleep_time: float) -> None: + eval_logger.warning( + f"RateLimitError occurred: {e.__cause__}\n Retrying in {sleep_time} seconds" + ) + + @retry_on_specific_exceptions( + on_exceptions=[ + anthropic.RateLimitError, + anthropic.APIConnectionError, + anthropic.APIStatusError, + ], + max_retries=None, # retry forever, consider changing + on_exception_callback=_exception_callback, + ) + def messages(): + response = client.messages.create( + model=model, + max_tokens=max_tokens, + temperature=temperature, + messages=[{"role": "user", "content": f"{prompt}"}], + **kwargs, + ) + return response.content[0].text + + return messages() + + +@register_model("anthropic-completions") +class AnthropicLM(LM): + REQ_CHUNK_SIZE = 20 # TODO: not used + + def __init__( + self, + batch_size: int = 1, + model: str = "claude-2.0", + max_tokens_to_sample: int = 256, + temperature: float = 0, # defaults to 1 + **kwargs, # top_p, top_k, etc. + ) -> None: + """Anthropic API wrapper. + + :param model: str + Anthropic model e.g. 'claude-instant-v1', 'claude-2' + :param max_tokens_to_sample: int + Maximum number of tokens to sample from the model + :param temperature: float + Sampling temperature + :param kwargs: Any + Additional model_args to pass to the API client + """ + super().__init__() + + try: + import anthropic + except ModuleNotFoundError as exception: + raise type(exception)( + "attempted to use 'anthropic' LM type, but package `anthropic` is not installed. \ +please install anthropic via `pip install 'lm-eval[anthropic]'` or `pip install -e '.[anthropic]'`", + ) + + self.model = model + # defaults to os.environ.get("ANTHROPIC_API_KEY") + self.client = anthropic.Anthropic() + self.temperature = temperature + self.max_tokens_to_sample = max_tokens_to_sample + self.tokenizer = self.client.get_tokenizer() + self.kwargs = kwargs + + @property + def eot_token_id(self): + # Not sure but anthropic.HUMAN_PROMPT ? + raise NotImplementedError("No idea about anthropic tokenization.") + + @property + def max_length(self) -> int: + return 2048 + + @property + def max_gen_toks(self) -> int: + return self.max_tokens_to_sample + + @property + def batch_size(self): + # Isn't used because we override _loglikelihood_tokens + raise NotImplementedError("No support for logits.") + + @property + def device(self): + # Isn't used because we override _loglikelihood_tokens + raise NotImplementedError("No support for logits.") + + def tok_encode(self, string: str) -> List[int]: + return self.tokenizer.encode(string).ids + + def tok_decode(self, tokens: List[int]) -> str: + return self.tokenizer.decode(tokens) + + def _loglikelihood_tokens(self, requests, disable_tqdm: bool = False): + raise NotImplementedError("No support for logits.") + + def generate_until(self, requests, disable_tqdm: bool = False) -> List[str]: + try: + import anthropic + except ModuleNotFoundError as exception: + raise type(exception)( + "attempted to use 'anthropic' LM type, but package `anthropic` is not installed. \ +please install anthropic via `pip install 'lm-eval[anthropic]'` or `pip install -e '.[anthropic]'`", + ) + + if not requests: + return [] + + _requests: List[Tuple[str, dict]] = [req.args for req in requests] + + res = [] + for request in tqdm(_requests, disable=disable_tqdm): + try: + inp = request[0] + request_args = request[1] + # generation_kwargs + until = request_args.get("until") + max_gen_toks = request_args.get("max_gen_toks", self.max_length) + temperature = request_args.get("temperature", self.temperature) + response = anthropic_completion( + client=self.client, + model=self.model, + prompt=inp, + max_tokens_to_sample=max_gen_toks, + temperature=temperature, # TODO: implement non-greedy sampling for Anthropic + stop=until, # type: ignore + **self.kwargs, + ) + res.append(response) + + self.cache_hook.add_partial("generate_until", request, response) + except anthropic.APIConnectionError as e: # type: ignore # noqa: F821 + eval_logger.critical(f"Server unreachable: {e.__cause__}") + break + except anthropic.APIStatusError as e: # type: ignore # noqa: F821 + eval_logger.critical(f"API error {e.status_code}: {e.message}") + break + + return res + + def _model_call(self, inps): + # Isn't used because we override _loglikelihood_tokens + raise NotImplementedError() + + def _model_generate(self, context, max_length, eos_token_id): + # Isn't used because we override generate_until + raise NotImplementedError() + + def loglikelihood(self, requests, disable_tqdm: bool = False): + raise NotImplementedError("No support for logits.") + + def loglikelihood_rolling(self, requests, disable_tqdm: bool = False): + raise NotImplementedError("No support for logits.") + + +@register_model("anthropic-chat", "anthropic-chat-completions") +class AnthropicChat(LocalCompletionsAPI): + def __init__( + self, + base_url="https://api.anthropic.com/v1/messages", + tokenizer_backend=None, + **kwargs, + ): + super().__init__( + base_url=base_url, tokenizer_backend=tokenizer_backend, **kwargs + ) + eval_logger.warning( + "Chat completions does not support batching. Defaulting to batch size 1." + ) + self._batch_size = 1 + self.anthropic_version = "2023-06-01" + eval_logger.warning( + f"Using Anthropic Version: {self.anthropic_version}. Confirm the current version here: https://docs.anthropic.com/en/api/versioning" + ) + + @cached_property + def api_key(self): + """Override this property to return the API key for the API request.""" + key = os.environ.get("ANTHROPIC_API_KEY", None) + if key is None: + raise ValueError( + "API key not found. Please set the ANTHROPIC_API_KEY environment variable." + ) + return key + + @cached_property + def header(self): + return { + "x-api-key": f"{self.api_key}", + "anthropic-version": self.anthropic_version, + } + + def _create_payload( + self, + messages: List[Dict], + generate=True, + gen_kwargs: dict = None, + eos="\n\nHuman:", + **kwargs, + ) -> dict: + system = ( + messages[0].get("content") if messages[0].get("role") == "system" else None + ) + if system: + messages = messages[1:] + gen_kwargs.pop("do_sample", False) + max_tokens = gen_kwargs.pop("max_gen_toks", self._max_gen_toks) + temperature = gen_kwargs.pop("temperature", 0) + stop = handle_stop_sequences(gen_kwargs.pop("until", ["\n\nHuman:"]), eos=eos) + if not isinstance(stop, list): + stop = [stop] + out = { + "messages": messages, + "model": self.model, + "max_tokens": max_tokens, + "temperature": temperature, + "stop_sequences": stop, + **gen_kwargs, + } + if system: + out["system"] = system + return out + + def parse_generations( + self, outputs: Union[Dict, List[Dict]], **kwargs + ) -> List[str]: + res = [] + if not isinstance(outputs, list): + outputs = [outputs] + for out in outputs: + for choices in out["content"]: + res.append(choices["text"]) + return res + + def tok_encode( + self, + string: str, + left_truncate_len=None, + add_special_tokens=None, + **kwargs, + ) -> List[str]: + return [string] + + def loglikelihood(self, requests, **kwargs): + raise NotImplementedError( + "Anthropic Chat Completions API does not support the return of loglikelihood" + ) diff --git a/lm-evaluation-harness/lm_eval/models/api_models.py b/lm-evaluation-harness/lm_eval/models/api_models.py new file mode 100644 index 0000000000000000000000000000000000000000..23d122033ef2e8c7aaecc2bc29d9174612eb1a4c --- /dev/null +++ b/lm-evaluation-harness/lm_eval/models/api_models.py @@ -0,0 +1,799 @@ +import abc +import asyncio +import copy +import itertools +import json +import logging +from functools import cached_property +from typing import ( + TYPE_CHECKING, + Any, + Awaitable, + Callable, + Dict, + Iterable, + List, + Literal, + NamedTuple, + Optional, + Tuple, + Union, +) + + +try: + import requests + from aiohttp import ClientSession, ClientTimeout, TCPConnector + from tenacity import RetryError, retry, stop_after_attempt, wait_exponential + from tqdm import tqdm + from tqdm.asyncio import tqdm_asyncio +except ModuleNotFoundError: + pass + + +import base64 +from importlib.util import find_spec +from io import BytesIO + +from lm_eval import utils +from lm_eval.api.instance import Instance +from lm_eval.api.model import TemplateLM +from lm_eval.models.utils import Collator, chunks, configure_pad_token + + +if TYPE_CHECKING: + from PIL import Image + + +eval_logger = logging.getLogger(__name__) + +LogLikelihoodInputs = Tuple[Tuple[str, str], List[int], List[int]] + + +# utility class to keep track of json encoded chats +class JsonChatStr(NamedTuple): + prompt: str + + def encode(self, encoding): + return self.prompt.encode(encoding) + + +def create_image_prompt( + imgs: list["Image.Image"], chat: dict, fmt: str = "PNG" +) -> dict: + """ + + Parameters + ---------- + img : list[PIL.Image.Image] + The list of images to encode to base64 + chat : dict + fmt : str, optional + Any format Pillow understands (e.g. "PNG", "JPEG"). + Defaults to "PNG". + + Returns + ------- + dict + """ + images = [] + for img in imgs: + buf = BytesIO() + img.save(buf, format=fmt) + img_b64 = base64.b64encode(buf.getvalue()).decode("utf-8") + img_dict = { + "type": "image_url", + "image_url": {"url": f"data:image/png;base64,{img_b64}", "detail": "auto"}, + } + images.append(img_dict) + + # chat is in format of list[dict["role": "user"/"system", "content": str, "type": "text"],...] + # with images, we need "content" to be a list of dicts with "type" and "text"/"image_url" + # currently we do not support few-shots so only one user message + # text content also has placeholders, which apparently is not necessary for API class (confirm) + + if isinstance(chat[-1]["content"], list): + chat[-1]["content"] = images + chat[-1]["content"] + else: + text_content = {"type": "text", "text": chat[-1]["content"]} + chat[-1]["content"] = images + [text_content] + chat[-1].pop("type") + return chat + + +class TemplateAPI(TemplateLM): + MULTIMODAL = True + + def __init__( + self, + model: str = None, + pretrained: str = None, # `model` takes precedence over `pretrained` when passed. + base_url: str = None, + tokenizer: Optional[str] = None, + # Loglikelihood tasks require a tokenizer to calculate context lengths, + # however the requests can be sent as a string if the API doesn't support token inputs. + # use tokenized_requests=False + tokenizer_backend: Optional[ + Literal["tiktoken", "huggingface", "None", "none"] + ] = "huggingface", + truncate: bool = False, + # number of concurrent requests. More useful if not batching + num_concurrent: int = 1, + max_retries: int = 3, + max_gen_toks: int = 256, + batch_size: Union[str, int] = 1, + seed: int = 1234, + max_length: Optional[int] = 2048, + add_bos_token: bool = False, + custom_prefix_token_id: int = None, + # send the requests as tokens or strings + tokenized_requests: bool = True, + trust_remote_code: bool = False, + revision: Optional[str] = "main", + use_fast_tokenizer: bool = True, + verify_certificate: bool = True, + eos_string: str = None, + # timeout in seconds + timeout: int = 300, + max_images: int = 1, + **kwargs, + ) -> None: + super().__init__() + missing_packages = [ + pkg + for pkg in ["aiohttp", "tqdm", "tenacity", "requests"] + if find_spec(pkg) is None + ] + if missing_packages: + raise ModuleNotFoundError( + f"Attempted to use an API model, but the required packages {missing_packages} are not installed. " + 'Please install these via `pip install lm-eval[api]` or `pip install -e ."[api]"`' + ) + self.model = model or pretrained + self.base_url = base_url + self.tokenizer = tokenizer + if not isinstance(batch_size, int) and "auto" in batch_size: + eval_logger.warning( + "Automatic batch size is not supported for API models. Defaulting to batch size 1." + ) + elif int(batch_size) > 1: + eval_logger.warning( + "Batch size > 1 detected. Ensure your API supports batched requests with varying total sequence lengths." + ) + self._batch_size = int(batch_size) if batch_size != "auto" else 1 + self._truncate = truncate + self._max_gen_toks = int(max_gen_toks) + self._seed = int(seed) + # max_length - 1 as we always have 1 token for generation + eval_logger.info(f"Using max length {max_length} - 1") + self.max_length = max_length - 1 + if int(num_concurrent) <= 1: + eval_logger.info( + "Concurrent requests are disabled. To enable concurrent requests, set `num_concurrent` > 1." + ) + self._concurrent = int(num_concurrent) + self.tokenizer_backend = ( + None if tokenizer_backend in ("None", "none") else tokenizer_backend + ) + self.add_bos_token = add_bos_token + self.custom_prefix_token_id = custom_prefix_token_id + self.tokenized_requests = tokenized_requests + self.max_retries = int(max_retries) + self.verify_certificate = verify_certificate + self._eos_string = eos_string + self.timeout = int(timeout) + self.max_images = int(max_images) + + eval_logger.info(f"Using tokenizer {self.tokenizer_backend}") + if self.tokenizer_backend is None: + self.tokenizer = None + self.tokenized_requests = False + else: + if self.tokenizer is None: + if self.tokenizer_backend == "huggingface": + import transformers + + self.tokenizer = transformers.AutoTokenizer.from_pretrained( + self.tokenizer if self.tokenizer else self.model, + trust_remote_code=trust_remote_code, + revision=revision, + use_fast=use_fast_tokenizer, + ) + # Not used as the API will handle padding but to mirror the behavior of the HFLM + self.tokenizer = configure_pad_token(self.tokenizer) + elif self.tokenizer_backend == "tiktoken": + try: + import tiktoken + + self.tokenizer = tiktoken.encoding_for_model(self.model) + except ModuleNotFoundError as e: + raise ModuleNotFoundError( + "Attempted to use 'openai' LM type, but the package `tiktoken` is not installed. " + "Please install it via `pip install lm-eval[api]` or `pip install -e .[api]`." + ) from e + if "openai" not in self.base_url: + eval_logger.warning( + f"Passed `base_url={self.base_url}` but using (OpenAI) Tiktoken tokenizer backend. " + "Pass `tokenizer_backend=huggingface` and provide the HF tokenizer name if your model does not use Tiktoken." + ) + else: + import transformers + + assert isinstance(tokenizer, str), "tokenizer must be a string" + self.tokenizer = transformers.AutoTokenizer.from_pretrained( + tokenizer, + trust_remote_code=trust_remote_code, + revision=revision, + use_fast=use_fast_tokenizer, + ) + + @abc.abstractmethod + def _create_payload( + self, + messages: Union[List[List[int]], List[dict], List[str], str], + *, + generate: bool = True, + gen_kwargs: Optional[dict] = None, + seed: int = 1234, + eos: str = None, + **kwargs, + ) -> dict: + """This method is responsible for creating the json payload that will be sent to the API.""" + raise NotImplementedError + + def create_message( + self, + messages: Union[List[List[int]], List[str], List[JsonChatStr]], + generate=False, + ) -> Union[List[List[int]], List[dict], List[str], str]: + """Helper method to transform the prompt into the expected API input format. messages consist of batched requests""" + if isinstance(messages[0], JsonChatStr): + # for chat completions we need to decode the json string to list[dict,...] + assert self._batch_size == 1, ( + "non-tokenized chat requests are only supported with batch_size=1" + ) + # list[dict["role":..., "content":...],...] + return json.loads(messages[0].prompt) + + if not self.tokenized_requests: + # if messages are tokenized: + if isinstance(messages[0][0], int): + # assuming decoding is lossless. However, this is only for loglikelihood requests + # as we need to compute the context length. For generations, we don't need to tokenize. + messages = self.decode_batch(messages) + if self._batch_size <= 1: + # if batch is 1 return str + return messages[0] + else: + # list[str,...] + return messages + + # list[list[int], ...] + return messages + + @staticmethod + @abc.abstractmethod + def parse_logprobs( + outputs: Union[Any, List[Any]], + tokens: List[List[int]] = None, + ctxlen: List[int] = None, + **kwargs, + ) -> List[Tuple[float, bool]]: + """Method used to parse the logprobs from the (batched) API response. This method should return a list of tuples""" + raise NotImplementedError + + @staticmethod + @abc.abstractmethod + def parse_generations(outputs: Union[Any, List[Any]], **kwargs) -> List[str]: + """Method used to parse the generations from the (batched) API response. This method should return a list of str""" + raise NotImplementedError + + @cached_property + def api_key(self) -> str: + """Override this property to return the API key for the API request.""" + return "" + + @cached_property + def header(self) -> dict: + """Override this property to return the headers for the API request.""" + return {"Authorization": f"Bearer {self.api_key}"} + + @property + def tokenizer_name(self) -> str: + """Must be defined for LM subclasses which implement Chat Templating. + Should return the name of the tokenizer or chat template used. + Used only to properly fingerprint caches when requests are being cached with `--cache_requests`, otherwise not used. + """ + return "" + + def apply_chat_template( + self, chat_history: List[Dict[str, str]], add_generation_prompt: bool = True + ) -> Union[str, JsonChatStr]: + """Applies a chat template to a list of chat history between user and model.""" + if self.tokenizer_backend == "huggingface" and self.tokenized_requests: + return self.tokenizer.apply_chat_template( + chat_history, + tokenize=False, + add_generation_prompt=add_generation_prompt, + continue_final_message=not add_generation_prompt, + ) + else: + # bit of a hack. We'll load back before sending to the API + return JsonChatStr( + json.dumps( + [{**item, "type": "text"} for item in chat_history], + ensure_ascii=False, + ) + ) + + @cached_property + def eot_token_id(self) -> Optional[int]: + if self.tokenizer is None: + return None + else: + if self.tokenizer_backend == "huggingface": + return self.tokenizer.eos_token_id + elif self.tokenizer_backend == "tiktoken": + return self.tokenizer.eot_token + + @cached_property + def eos_string(self) -> Optional[str]: + if self._eos_string: + return self._eos_string + elif self.tokenizer is not None: + if self.tokenizer_backend == "huggingface": + return self.tokenizer.eos_token + elif self.tokenizer_backend == "tiktoken": + return self.tokenizer.decode([self.tokenizer.eot_token]) + else: + eval_logger.warning( + "Cannot determine EOS string to pass to stop sequence. Manually set by passing `eos_string` to model_args." + ) + return None + + @cached_property + def prefix_token_id(self) -> Optional[int]: + if self.tokenizer is None: + return None + else: + if self.custom_prefix_token_id is not None: + return self.custom_prefix_token_id + if self.tokenizer_backend == "huggingface": + if self.tokenizer.bos_token_id is not None: + return self.tokenizer.bos_token_id + return self.tokenizer.eos_token_id + else: + return self.tokenizer.eot_token + + def tok_encode( + self, + string: str, + left_truncate_len: int = None, + add_special_tokens: bool = False, + truncation: bool = False, + **kwargs, + ) -> Union[List[List[int]], List[int], List[str]]: + if self.tokenizer_backend is None: + return [string] + elif self.tokenizer_backend == "huggingface": + # by default for CausalLM - false or self.add_bos_token is set + if not add_special_tokens: + add_special_tokens = False or self.add_bos_token + encoding: Union[List[List[int]], List[int]] = self.tokenizer( + string, + add_special_tokens=add_special_tokens, + truncation=truncation, + return_attention_mask=False, + ).input_ids + + # left-truncate the encoded context to be at most `left_truncate_len` tokens long + if left_truncate_len: + if not isinstance(string, str): + encoding = [enc[-left_truncate_len:] for enc in encoding] + else: + encoding = encoding[-left_truncate_len:] + + return encoding + + else: + try: + encoding = self.tokenizer.encode(string) + except Exception: + encoding = self.tokenizer.encode_batch(string) + return encoding + + def decode_batch(self, tokens: List[List[int]]) -> List[str]: + if self.tokenizer_backend == "huggingface": + return self.tokenizer.batch_decode(tokens) + elif self.tokenizer_backend == "tiktoken": + return self.tokenizer.decode_batch(tokens) + + def model_call( + self, + messages: Union[List[List[int]], List[str], List[JsonChatStr]], + *, + generate: bool = True, + gen_kwargs: Optional[Dict] = None, + **kwargs, + ) -> Optional[dict]: + # !!! Copy: shared dict for each request, need new object !!! + gen_kwargs = copy.deepcopy(gen_kwargs) + try: + response = requests.post( + self.base_url, + json=self._create_payload( + self.create_message(messages), + generate=generate, + gen_kwargs=gen_kwargs, + seed=self._seed, + eos=self.eos_string, + **kwargs, + ), + headers=self.header, + verify=self.verify_certificate, + ) + if not response.ok: + eval_logger.warning( + f"API request failed with error message: {response.text}. Retrying..." + ) + response.raise_for_status() + return response.json() + except RetryError: + eval_logger.error( + "API request failed after multiple retries. Please check the API status." + ) + return None + + async def amodel_call( + self, + session: ClientSession, + messages: Union[List[List[int]], List[str], List[JsonChatStr]], + *, + generate: bool = True, + cache_keys: list = None, + ctxlens: Optional[List[int]] = None, + gen_kwargs: Optional[Dict] = None, + **kwargs, + ) -> Union[List[str], List[Tuple[float, bool]], None]: + # !!! Copy: shared dict for each request, need new object !!! + gen_kwargs = copy.deepcopy(gen_kwargs) + payload = self._create_payload( + self.create_message(messages), + generate=generate, + gen_kwargs=gen_kwargs, + seed=self._seed, + **kwargs, + ) + cache_method = "generate_until" if generate else "loglikelihood" + try: + async with session.post( + self.base_url, + json=payload, + headers=self.header, + ) as response: + if not response.ok: + error_text = await response.text() + eval_logger.warning( + f"API request failed with error message: {error_text}. Retrying..." + ) + # raising exception will retry the request + response.raise_for_status() + outputs = await response.json() + answers = ( + self.parse_generations( + outputs=outputs, + ) + if generate + else self.parse_logprobs( + outputs=outputs, + tokens=messages, + ctxlens=ctxlens, + ) + ) + if cache_keys: + for res, cache in zip(answers, cache_keys): + self.cache_hook.add_partial(cache_method, cache, res) + return answers + # If the retries also fail + except RetryError: + eval_logger.error( + "API request failed after multiple retries. Please check the API status." + ) + return None + + def batch_loglikelihood_requests( + self, chunks: Iterable[List[LogLikelihoodInputs]] + ) -> Tuple[List[List[int]], List[int], List[Tuple[str, str]]]: + inputs = [] + ctxlens = [] + cache_keys = [] + for chunk in chunks: + for cache_key, context_enc, continuation_enc in chunk: + # max_length - 1 as we always have 1 token for generation + inp = (context_enc + continuation_enc)[-self.max_length :] + if len(inp) < len(context_enc + continuation_enc): + eval_logger.warning( + f"Context length ({len(context_enc)}) + continuation length ({len(continuation_enc)}) > max_length ({self.max_length}). Left truncating context." + ) + ctxlen = len(context_enc) - max( + 0, len(context_enc) + len(continuation_enc) - self.max_length + ) + + inputs.append(inp) + ctxlens.append(ctxlen) + cache_keys.append(cache_key) + return inputs, ctxlens, cache_keys + + async def get_batched_requests( + self, + requests: list, + cache_keys: list, + *, + generate: bool = True, + ctxlens: List[int] = None, + **kwargs, + ) -> Union[List[List[str]], List[List[Tuple[float, bool]]]]: + ctxlens = ctxlens if ctxlens else [None] * len(requests) + conn = TCPConnector(limit=self._concurrent, ssl=self.verify_certificate) + async with ClientSession( + connector=conn, timeout=ClientTimeout(total=self.timeout) + ) as session: + retry_: Callable[..., Awaitable[Any]] = retry( + stop=stop_after_attempt(self.max_retries), + wait=wait_exponential(multiplier=0.5, min=1, max=10), + reraise=True, + )(self.amodel_call) + # Create tasks for each batch of request + tasks = [ + asyncio.create_task( + retry_( + session=session, + messages=message, + cache_keys=cache_key, + generate=generate, + ctxlens=ctxlen, + **kwargs, + ) + ) + for message, cache_key, ctxlen in zip( + chunks(requests, n=self._batch_size), + chunks(cache_keys, n=self._batch_size), + chunks(ctxlens, n=self._batch_size), + ) + ] + + return await tqdm_asyncio.gather(*tasks, desc="Requesting API") + + def _loglikelihood_tokens(self, requests, **kwargs) -> List[Tuple[float, bool]]: + assert self.tokenizer is not None, ( + "Tokenizer is required for loglikelihood tasks to compute context lengths." + ) + res = [] + + def _collate(req: LogLikelihoodInputs): + """Defines the key for the sorted method""" + # the negative sign on len(toks) sorts descending - this has a few advantages: + # - time estimates will always be over not underestimates, which is more useful for planning + # - to know the size of a batch when going through the list, you know the first one is always the batch + # padded context length. this is useful to simplify the batching logic and more importantly to make + # automatic adaptive batches much much easier to implement + # - any OOMs will happen right away rather than near the end + + toks = req[1] + req[2] + return -len(toks), tuple(toks) + + re_ord = Collator( + requests, + sort_fn=_collate, + group_by=None, + ) + # if concurrent then we'll batch in the async context + chunked = re_ord.get_batched(n=self._batch_size if self._concurrent <= 1 else 0) + if self._concurrent <= 1: + pbar = tqdm(desc="Requesting API", total=len(requests)) + for chunk in chunked: + inputs, ctxlens, cache_keys = self.batch_loglikelihood_requests([chunk]) + + outputs = retry( + stop=stop_after_attempt(self.max_retries), + wait=wait_exponential(multiplier=0.5, min=1, max=10), + reraise=True, + )(self.model_call)(messages=inputs, generate=False) + if isinstance(outputs, dict): + outputs = [outputs] + for answer_, cache_key in zip( + self.parse_logprobs( + outputs=outputs, tokens=inputs, ctxlens=ctxlens + ), + cache_keys, + ): + if answer_ is not None: + res.append(answer_) + # cache requests that aren't from a loglikelihood_rolling request + if cache_key is not None: + self.cache_hook.add_partial( + "loglikelihood", cache_key, answer_ + ) + pbar.update(1) + else: + inputs, ctxlens, cache_keys = self.batch_loglikelihood_requests(chunked) + res = itertools.chain.from_iterable( + asyncio.run( + self.get_batched_requests( + inputs, cache_keys, generate=False, ctxlens=ctxlens + ) + ) + ) + + return re_ord.get_original(res) + + def generate_until( + self, requests: List[Instance], disable_tqdm: bool = False + ) -> List[str]: + res = [] + + def _collate_gen(_requests): + # sort by the length of the non-tokenized contexts + return -len(_requests[0]) + + # Let the API deal with tokenization + if len(requests[0].args) > 2: + assert self.tokenizer is None, ( + "tokenizer is not supported for multimodal requests yet!" + ) + eval_logger.info( + f"Using max_images {self.max_images}. Set in the model args." + ) + requests, all_gen_kwargs, auxiliary_args = zip( + *(req.args for req in requests) + ) + requests = tuple( + JsonChatStr( + json.dumps( + create_image_prompt( + y["visual"][: self.max_images], json.loads(x.prompt) + ) + ) + ) + for x, y in zip(requests, auxiliary_args) + ) + else: + requests, all_gen_kwargs = zip(*(req.args for req in requests)) + if self.tokenized_requests: + encodings_list = self.tok_encode( + requests, add_special_tokens=self.add_bos_token + ) + else: + encodings_list = [None] * len(requests) + requests = [ + (a, b, c) for a, b, c in zip(requests, all_gen_kwargs, encodings_list) + ] + + re_ord = Collator( + requests, + sort_fn=_collate_gen, + group_by="gen_kwargs", + ) + chunked = re_ord.get_batched( + n=self._batch_size if self._concurrent <= 1 else 0, batch_fn=None + ) + if not self.tokenized_requests: + eval_logger.info( + "Tokenized requests are disabled. Context + generation length is not checked." + ) + if self._concurrent <= 1: + pbar = tqdm(desc="Requesting API", total=len(requests)) + for chunk in chunked: + contexts, all_gen_kwargs, encodings_list = zip(*chunk) + if self.tokenized_requests: + max_gen_toks = all_gen_kwargs[0].get( + "max_gen_toks", self._max_gen_toks + ) + max_context_len = self.max_length - max_gen_toks + + encodings_list = [x[-max_context_len:] for x in encodings_list] + + if any( + len(x) + max_gen_toks > self.max_length for x in encodings_list + ): + eval_logger.warning( + f"Some contexts exceeded (max length: ({self.max_length}) - max_gen_toks: ({max_gen_toks}). They were left truncated." + ) + + req = encodings_list if self.tokenized_requests else contexts + outputs = retry( + stop=stop_after_attempt(self.max_retries), + wait=wait_exponential(multiplier=0.5, min=1, max=10), + reraise=True, + )(self.model_call)( + messages=req, + generate=True, + gen_kwargs=copy.deepcopy(all_gen_kwargs[0]), + ) + for generated_text, context in zip( + self.parse_generations( + outputs=outputs, + contexts=contexts, + ), + contexts, + ): + if generated_text is not None: + res.append(generated_text) + + # partial caching + if context is not None: + self.cache_hook.add_partial( + "generate_until", + (context, all_gen_kwargs[0]), + generated_text, + ) + pbar.update(1) + else: + for chunk in chunked: + contexts, all_gen_kwargs, encodings_list = zip(*chunk) + if self.tokenized_requests: + max_gen_toks = all_gen_kwargs[0].get( + "max_gen_toks", self._max_gen_toks + ) + max_context_len = self.max_length - max_gen_toks + + encodings_list = [x[-max_context_len:] for x in encodings_list] + + if any( + len(x) + max_gen_toks > self.max_length for x in encodings_list + ): + eval_logger.warning( + f"Some contexts exceeded (max length: ({self.max_length}) - max_gen_toks ({max_gen_toks}). They were left truncated." + ) + + req = encodings_list if self.tokenized_requests else contexts + results = itertools.chain.from_iterable( + asyncio.run( + self.get_batched_requests( + req, + cache_keys=[(ctx, all_gen_kwargs[0]) for ctx in contexts], + generate=True, + gen_kwargs=copy.deepcopy(all_gen_kwargs[0]), + ) + ) + ) + res.extend(results) + + return re_ord.get_original(res) + + def loglikelihood_rolling( + self, requests: List[Instance], disable_tqdm: bool = False + ) -> List[float]: + loglikelihoods = [] + + for (string,) in tqdm([req.args for req in requests], disable=disable_tqdm): + rolling_token_windows = list( + map( + utils.make_disjoint_window, + utils.get_rolling_token_windows( + token_list=self.tok_encode(string), + prefix_token=self.prefix_token_id, + # max_seq_len - (1 for context) + max_seq_len=self.max_length - 1, + context_len=1, + ), + ) + ) + + # TODO: Right now, we pass single EOT token to the Encoder and the full context to the decoder, in seq2seq case + rolling_token_windows = [(None,) + x for x in rolling_token_windows] + + string_nll = self._loglikelihood_tokens( + rolling_token_windows, + disable_tqdm=True, + ) + + # discard is_greedy + string_nll = [x[0] for x in string_nll] + + string_nll = sum(string_nll) + loglikelihoods.append(string_nll) + + # cache this loglikelihood_rolling request + self.cache_hook.add_partial("loglikelihood_rolling", (string,), string_nll) + return loglikelihoods diff --git a/lm-evaluation-harness/lm_eval/models/dummy.py b/lm-evaluation-harness/lm_eval/models/dummy.py new file mode 100644 index 0000000000000000000000000000000000000000..014ad49ee36f756acd0428340f945312d79590e8 --- /dev/null +++ b/lm-evaluation-harness/lm_eval/models/dummy.py @@ -0,0 +1,41 @@ +import random + +from tqdm import tqdm + +from lm_eval.api.model import LM +from lm_eval.api.registry import register_model + + +@register_model("dummy") +class DummyLM(LM): + def __init__(self) -> None: + super().__init__() + + @classmethod + def create_from_arg_string(cls, arg_string, additional_config=None): + return cls() + + def loglikelihood(self, requests, disable_tqdm: bool = False): + res = [] + + for _ in tqdm(requests, disable=disable_tqdm): + res.append((-random.random(), False)) + + return res + + def generate_until(self, requests, disable_tqdm: bool = False): + res = [] + + for request in tqdm(requests, disable=disable_tqdm): + res.append("lol") + assert request.arguments[0].strip() != "" + + return res + + def loglikelihood_rolling(self, requests, disable_tqdm: bool = False): + res = [] + + for _ in tqdm(requests, disable=disable_tqdm): + res.append(-random.random()) + + return res diff --git a/lm-evaluation-harness/lm_eval/models/gguf.py b/lm-evaluation-harness/lm_eval/models/gguf.py new file mode 100644 index 0000000000000000000000000000000000000000..52aef0dee62edb2eb390fe695e939f8e06d0555f --- /dev/null +++ b/lm-evaluation-harness/lm_eval/models/gguf.py @@ -0,0 +1,132 @@ +import logging +import time + +import requests +from requests.exceptions import RequestException +from tqdm import tqdm + +from lm_eval.api.model import LM +from lm_eval.api.registry import register_model + + +logger = logging.getLogger(__name__) + + +def get_result(logprobs, context_length): + is_greedy = True + offsets = logprobs["text_offset"] + tokens = logprobs["tokens"] + tokens_logprobs = logprobs["token_logprobs"] + + idx = 0 + while offsets[idx] < context_length: + idx += 1 + continuation_logprobs = sum(tokens_logprobs[idx:-1]) + for i in range(idx, len(tokens)): + token = tokens[i] + top_tokens = logprobs["top_logprobs"][i] + top_token = max(top_tokens.keys(), key=lambda x: top_tokens[x]) + if top_token != token: + is_greedy = False + break + + return continuation_logprobs, is_greedy + + +@register_model("gguf", "ggml") +class GGUFLM(LM): + def __init__(self, base_url=None, max_length=2048, **kwargs): + super().__init__() + self.base_url = base_url + assert self.base_url, "must pass `base_url` to use GGUF LM!" + self.logprobs = 10 + self.temperature = 0.0 + self.max_length = max_length + + def gguf_completion( + self, context, continuation=None, stop=None, retries=3, delay=5, **kwargs + ): + for _ in range(retries): + try: + prompt = context + request = { + "prompt": prompt, + "logprobs": self.logprobs, + "temperature": self.temperature, + } + if continuation: + prompt += continuation + request.update({"prompt": prompt, "max_tokens": 1, "echo": True}) + if stop is not None: + request["stop"] = stop + response = requests.post( + f"{self.base_url}/v1/completions", json=request + ) + response.raise_for_status() + return response.json() + except RequestException as e: + logger.error(f"RequestException: {e}") + time.sleep(delay) # wait before retrying + else: + raise RuntimeError( + f"Failed to get a valid response after {retries} retries." + ) + + def loglikelihood(self, requests, disable_tqdm: bool = False): + if not requests: + return [] + res = [] + for context, continuation in tqdm( + [req.args for req in requests], disable=disable_tqdm + ): + response = self.gguf_completion(context=context, continuation=continuation) + if response and "choices" in response and response["choices"]: + choice = response["choices"][0] + logprobs = choice.get("logprobs") + if ( + logprobs + and "token_logprobs" in logprobs + and logprobs["token_logprobs"] + ): + logprob, is_greedy = get_result(logprobs, len(context)) + res.append((logprob, is_greedy)) + else: + logger.warning( + "Invalid logprobs data. Expected 'logprobs' to contain 'token_logprobs' list." + ) + else: + logger.error( + f"Invalid response for loglikelihood. Response: {response}" + ) + assert False + return res + + def generate_until(self, requests, disable_tqdm: bool = False): + if not requests: + return [] + + res = [] + for request in tqdm([req.args for req in requests], disable=disable_tqdm): + inp = request[0] + request_args = request[1] + until = request_args.get("until", [""]) + response = self.gguf_completion(context=inp, stop=until) + if response and "choices" in response and response["choices"]: + choice = response["choices"][0] + if "text" in choice: + generated_text = choice["text"].strip() + res.append(generated_text) + else: + logger.error( + f"Invalid response for greedy_until. Response: {response}" + ) + res.append(None) # Add default value in case of error + else: + logger.error(f"Invalid response for greedy_until. Response: {response}") + res.append(None) # Add default value in case of error + return res + + def loglikelihood_rolling(self, requests, disable_tqdm: bool = False): + raise NotImplementedError( + "loglikelihood_rolling not yet supported for GGUF models" + ) diff --git a/lm-evaluation-harness/lm_eval/models/hf_audiolm.py b/lm-evaluation-harness/lm_eval/models/hf_audiolm.py new file mode 100644 index 0000000000000000000000000000000000000000..082e21f9331a13ac719613cc7e9abcd563296692 --- /dev/null +++ b/lm-evaluation-harness/lm_eval/models/hf_audiolm.py @@ -0,0 +1,307 @@ +import copy +from typing import Dict, List, Optional, Tuple, Union + +import torch +import transformers +from tqdm import tqdm +from transformers import BatchEncoding + +from lm_eval.api.instance import Instance +from lm_eval.api.registry import register_model +from lm_eval.models.huggingface import HFLM +from lm_eval.models.utils import ( + Collator, + replace_placeholders, + stop_sequences_criteria, +) + + +DEFAULT_AUDIO_PLACEHOLDERS = ["