1267 lines
53 KiB
Python
1267 lines
53 KiB
Python
"""
|
||
xc_validation_strategy_vllm_zhouyuanxi — 主入口
|
||
|
||
启动后针对 GPU_JOBS 中配置的 GPU 卡分别批量提交各自筛选出的模型适配任务
|
||
(/api/adapt/task/add,xc-Token 认证)。
|
||
(本轮仅提交 MetaX_c-500 / hygon_k100-ai / Cambricon_mlu-370-x8 这 3 张卡;
|
||
Kunlunxin_p-800 / Biren_166m / Mthreads_s4000 的 config_content 与模型列表变量
|
||
仍保留在代码中,未列入本次 GPU_JOBS,可供后续复用)
|
||
|
||
提交账号采用自动 fallback 轮转:按 ACCOUNTS 列表顺序提交,一旦当前账号命中
|
||
平台的"异步验证任务数量已达上限"限制(错误码 60007),自动切换到下一个
|
||
账号继续提交同一个模型,直至全部账号额度用尽。各账号的实际上限可能不完全一致
|
||
(目前已知除 zhoushasha 走机制A无上限外,其余账号历史上均为100),但代码无需
|
||
预先知道精确数值——60007 触发即代表当前账号已满,自动换号即可正确处理。
|
||
|
||
之后保持 HTTP 服务存活,暴露 /health(K8s 探活)和 /status(运行状态)。
|
||
"""
|
||
|
||
import json
|
||
import os
|
||
import signal
|
||
import threading
|
||
from datetime import datetime
|
||
from http.server import BaseHTTPRequestHandler, ThreadingHTTPServer
|
||
from typing import List, Tuple
|
||
|
||
import requests
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 配置
|
||
# ══════════════════════════════════════════════════════════
|
||
BASE_URL = os.environ.get("BASE_URL", "https://modelhub.org.cn")
|
||
ADD_TASK_ENDPOINT = "/api/adapt/task/add"
|
||
TASK_TYPE = "text-generation"
|
||
STRATEGY_ID = os.environ.get("STRATEGY_ID", "") # 平台自动注入,无需修改
|
||
|
||
HTTP_HOST = "0.0.0.0"
|
||
HTTP_PORT = 8080
|
||
|
||
# 提交账号(按优先级排列,前一个额度满了自动切换到下一个)
|
||
# v1.0.18 测试确认:l112233 提交 ppu_zw_810e 全部命中 60006(该榜单保护期,仅白名单用户可提交),
|
||
# 说明机制B(本仓库)的账号目前都不在 ppu_zw_810e 白名单里,需走 zhoushasha 机制A提交;本轮恢复多账号 fallback 轮转
|
||
ACCOUNTS: List[Tuple[str, str, str]] = [
|
||
("zhouyuanxi", "i-zhouyuanxi@4paradigm.com", "62b9b487eff2488fb9f1da0b963f0b93"),
|
||
("zhoukaile", "zhoukaile", "bd7c52f3b9604ef48a14dd6174513935"),
|
||
("zhangyuanxi", "zhangyuanxi", "24ed39f7f0d84fafbe0ca808e62b191c"),
|
||
("jiajing", "jiajing", "5e051e0ff8384a81af53bea780deb28a"),
|
||
("jiangxiaowen", "jiangxiaowen", "88d5fee9f1fe4f7583f11a9d3702dc85"),
|
||
("miaoyao", "miaoyao", "77033cee0fb549598cdd590be0d02983"),
|
||
("zhao", "zhao", "421e75fb54904eb3a131d5647f299b23"),
|
||
("l112233", "l112233", "40cb6910dc9a442a816298a228da65ac"),
|
||
("l11223344", "l11223344", "e1c0db2959e5411f9342c8550b03f6e9"),
|
||
("keii", "keii", "be99003a85f640d8978823a5a8e3f297"),
|
||
|
||
]
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 各 GPU 的模型列表(来自 filter_verified_models 脚本的筛选结果)
|
||
# ══════════════════════════════════════════════════════════
|
||
METAX_MODELS = [
|
||
"QuantumStackOverflow/ASTER_4B_RL",
|
||
"Koalacrown/clinical-depression-qwen3-8b",
|
||
"trinhkhng/ties_Merged_gpt2_0.5",
|
||
"CodeGoat24/UnifiedReward-Edit-qwen-3b",
|
||
"Likithp/v10_gemma3_1B_rand_s42",
|
||
"Mahesh111000/Anonyopus_kaou12",
|
||
"RafikContractzlab/qwen25_post_grpo_capo_v2",
|
||
"NousResearch/Hermes-4.3-36B",
|
||
"QizhiPei/BioMatrix-1.7B-SFT",
|
||
"m-a-p/OpenLLaMA-Reproduce-1933.57B",
|
||
"ricemonster/qwen2.5-3B-SFT",
|
||
"open-unlearning/tofu_Llama-2-7b-chat-hf_retain95",
|
||
"missUG/MissUniverse-p-cr",
|
||
"dianab1729/Ada-1",
|
||
"gradients-io-tournaments/tournament-llama-test-001-f9005e45-62d6-479f-ab84-1e5c3edde0fb-5CMPlate",
|
||
"geshang/Seg-R1-3B",
|
||
"meteorain/Qwen__Qwen3-4B-Thinking-2507-RTN-fp4-e3m0-g128-faked-bf16",
|
||
"andrewzh/Absolute_Zero_Reasoner-Coder-7b",
|
||
"Henry236/east8b-eg-lora-chunk-llama",
|
||
"excepto64/lox_Llama-3_2-1B_r0_1e_sft_adam_s2",
|
||
"RUC-AIBOX/SWE-World-4B-SFT",
|
||
"dongboklee/gORM-14B-merged",
|
||
"abacusai/MetaMath-bagel-34b-v0.2-c1500",
|
||
"LGAI-EXAONE/EXAONE-4.0.1-32B",
|
||
"Henry236/east8b-eg-lora-heuristic",
|
||
"baichuan-inc/Baichuan-M2-32B",
|
||
]
|
||
|
||
KUNLUNXIN_MODELS = [
|
||
"QuantumStackOverflow/ASTER_4B_RL",
|
||
"narinzar/grpo-finetune-walkthrough",
|
||
"Koalacrown/clinical-depression-qwen3-8b",
|
||
"trinhkhng/ties_Merged_gpt2_0.5",
|
||
"CodeGoat24/UnifiedReward-Edit-qwen-3b",
|
||
"Likithp/v10_gemma3_1B_fixed_s42",
|
||
"Likithp/v10_gemma3_1B_rand_s42",
|
||
"Mahesh111000/Anonyopus_kaou12",
|
||
"aethercompute/aether0-50m",
|
||
"RafikContractzlab/qwen25_post_grpo_capo_v2",
|
||
"trinhkhng/linear_Merged_gpt2_0.3",
|
||
"QizhiPei/BioMatrix-1.7B-SFT",
|
||
"ricemonster/qwen2.5-3B-SFT",
|
||
"open-unlearning/tofu_Llama-2-7b-chat-hf_retain95",
|
||
"missUG/MissUniverse-p-cr",
|
||
"dianab1729/Ada-1",
|
||
"gradients-io-tournaments/tournament-llama-test-001-f9005e45-62d6-479f-ab84-1e5c3edde0fb-5CMPlate",
|
||
"geshang/Seg-R1-3B",
|
||
"meteorain/Qwen__Qwen3-4B-Thinking-2507-RTN-fp4-e3m0-g128-faked-bf16",
|
||
"Henry236/east8b-eg-lora-chunk-llama",
|
||
"RUC-AIBOX/SWE-World-4B-SFT",
|
||
]
|
||
|
||
BIREN_MODELS = [
|
||
"EphemeralYou/Prompt-Refine-MiniCPM5-1B",
|
||
"mtepe01/mentorx-mistral-7b-automata-merged",
|
||
"DarkArtsForge/Helix-SCE-12B-jh",
|
||
"Likithp/v10_fixed_s1",
|
||
"Likithp/v10_rand_s1",
|
||
"ibm-granite/granite-3.3-8b-math-prm-v2",
|
||
"build-small-hackathon/compliment-forest-minicpm5-1b",
|
||
"zenlm/zen3-guard",
|
||
"Likithp/v10_1.5B_fixed_s42",
|
||
"ermiaazarkhalili/Granite-4.1-8B-SFT-Fable5",
|
||
"Mohamed475/qwen3-1.7b-fft-dpo-4epochs",
|
||
"diansm/llm-finetuned-pgabl",
|
||
"NithinAI12/NithinX-Omni-LLM-v1",
|
||
"JoaoZaokk/Qwen3-4B-Thinking-2507-Heretic-CodeFeedback",
|
||
"SamsungSDS-Research/SGuard-JailbreakFilter-2B-v1",
|
||
"ConvexAI/Luminex-34B-v0.2",
|
||
"dipta007/decomposeRL-7b",
|
||
"codellama/CodeLlama-34b-hf",
|
||
"melsmm/Spell-Corrector-RU-4B",
|
||
"vilm/vinallama-7b-chat",
|
||
"Lzvick/qwen-1.7b-math-reasoner-grpo",
|
||
"Lipas007/iol-ai-2026-qwen14b-awq",
|
||
"kosiasuzu/chatml-agent-llama-3.1-8b-init",
|
||
"kosiasuzu/chatml-llama3.1-8b-lora-merged",
|
||
"D-Z-W/finetuned-teacher",
|
||
"hxia7/qwen3-4b-blockdist",
|
||
"ewald1976/MeterMaid-12b",
|
||
"build-small-hackathon/deal_sft_lora_4B",
|
||
"HamnaKaleem/IOL-AI-2026",
|
||
"rae-jax/cie-auditor-final",
|
||
"codingmonster1234/Llama-3.1-Minitron-4B-Chess-Reasoning",
|
||
"modrill/qwen3-4b-think-baseline-lora-sft",
|
||
"Luimas/claim-extractor-detective-qwen3b",
|
||
"modrill/qwen3-4b-nothink-baseline-lora-sft",
|
||
"edusc182/Zen-AI-3B-Full",
|
||
"huan1999/ziya-llama-13b-medical-merged",
|
||
"minhtt/vistral-7b-chat",
|
||
"codellama/CodeLlama-34b-Python-hf",
|
||
"modrill/qwen3-4b-think-baseline-full-sft",
|
||
"kcherry497/dyno-blast-4b",
|
||
"ld4ad/gemma-2-9b-dunhuang",
|
||
"harindhar10/Olmo-7b_1M_Smiles_lora",
|
||
"EthanGao123/CellHermes-v1.0",
|
||
"4dil/coding-architecture-advisor-merged",
|
||
"DavidAU/granite-4.1-8b-Claude-Opus-4.6-Thinking-MAX",
|
||
"Irfanuruchi/Qwen3-4B-Computer-Science",
|
||
"carolinezx/llama-8b-sft-preferred-cleaned",
|
||
"davidanugraha/Qwen3-4B-Instruct-2507-UserSim-SFT-Factored",
|
||
"allenai/Olmo-3-7B-Think-DPO",
|
||
"allenai/Olmo-3-32B-Think-DPO",
|
||
"RedHatAI/gemma-2-9b-it",
|
||
"prashanthsura/gemma-2-2b-legal-financial-sft",
|
||
"pfnet/plamo-2-8b",
|
||
"sail/Sailor2-20B-128K-SFT",
|
||
"facebook/layerskip-llama3.2-1B",
|
||
"Qwen/Qwen2.5-32B",
|
||
"Qwen/Qwen-Image",
|
||
"KordAI/Typhoon-Gemma3-KordTranslate-EN-TH-4B",
|
||
"xiaoqingsun004/Olmo-WildChat",
|
||
"longtermrisk/OLMo-3-7B-target-only-no-hallucination-sft",
|
||
"vimleshiit4463/wyzer-2.0-smollm2-135m",
|
||
"trl-lib/pythia-1b-deduped-tldr-sft",
|
||
]
|
||
|
||
CAMBRICON_MODELS = [
|
||
"QuantumStackOverflow/ASTER_4B_RL",
|
||
"narinzar/grpo-finetune-walkthrough",
|
||
"Koalacrown/clinical-depression-qwen3-8b",
|
||
"trinhkhng/ties_Merged_gpt2_0.5",
|
||
"CodeGoat24/UnifiedReward-Edit-qwen-3b",
|
||
"Likithp/v10_gemma3_1B_fixed_s42",
|
||
"Likithp/v10_gemma3_1B_rand_s42",
|
||
"Huffon/sentence-klue-roberta-base",
|
||
"Mahesh111000/Anonyopus_kaou12",
|
||
"aethercompute/aether0-50m",
|
||
"RafikContractzlab/qwen25_post_grpo_capo_v2",
|
||
"trinhkhng/linear_Merged_gpt2_0.3",
|
||
"trinhkhng/ties_Merged_gpt2_0.1",
|
||
"QizhiPei/BioMatrix-1.7B-SFT",
|
||
"ricemonster/qwen2.5-3B-SFT",
|
||
"open-unlearning/tofu_Llama-2-7b-chat-hf_retain95",
|
||
"missUG/MissUniverse-p-cr",
|
||
"dianab1729/Ada-1",
|
||
"gradients-io-tournaments/tournament-llama-test-001-f9005e45-62d6-479f-ab84-1e5c3edde0fb-5CMPlate",
|
||
"geshang/Seg-R1-3B",
|
||
"meteorain/Qwen__Qwen3-4B-Thinking-2507-RTN-fp4-e3m0-g128-faked-bf16",
|
||
"Henry236/east8b-eg-lora-chunk-llama",
|
||
"baseten/orpheus-3b-0.1-ft",
|
||
"excepto64/lox_Llama-3_2-1B_r0_1e_sft_adam_s2",
|
||
"RUC-AIBOX/SWE-World-4B-SFT",
|
||
"meteorain/Qwen__Qwen3-4B-Thinking-2507-RTN-fp4-e2m1-g128-faked-bf16",
|
||
]
|
||
|
||
HYGON_MODELS = [
|
||
"cjiao/goldengoose-divsweep_goose_n512_indorc_tau0.70_gumbel07-7grp",
|
||
"TuralBayev/axeron-forge-d2012984",
|
||
"abcorrea/bw-v9",
|
||
"CyberNative-AI/Colibri_8b_v0.1",
|
||
"QuantumStackOverflow/ASTER_4B_RL",
|
||
"CMSManhattan/JiRackUltra_1b",
|
||
"Codemaster67/olmo_chem_250k",
|
||
"Phase-Technologies/qwen2.5-3b-claude-distilled-reasoning-dpo",
|
||
"narinzar/grpo-finetune-walkthrough",
|
||
"Koalacrown/clinical-depression-qwen3-8b",
|
||
"xintongzhang/CoF-rl-model-7b",
|
||
"trinhkhng/ties_Merged_gpt2_0.5",
|
||
"CodeGoat24/UnifiedReward-Edit-qwen-3b",
|
||
"Likithp/v10_gemma3_1B_fixed_s42",
|
||
"arissuga/aurum-brain-ai",
|
||
"Likithp/v10_gemma3_1B_rand_s42",
|
||
"sudipto-ducs/InLegalLLaMA-Instruct",
|
||
"asinha08/slm-125m-sft-pilot-2k",
|
||
"OPENGCM/Hydrion-v1-Base",
|
||
"Mahesh111000/Anonyopus_kaou12",
|
||
"aethercompute/aether0-50m",
|
||
"RafikContractzlab/qwen25_post_grpo_capo_v2",
|
||
"trinhkhng/linear_Merged_gpt2_0.3",
|
||
"trinhkhng/ties_Merged_gpt2_0.1",
|
||
"Itaking/itakura-v2_300m-pretrain-cpt-sft-model",
|
||
"Jordansky/augmented-cb63c157cc726c7e",
|
||
"QizhiPei/BioMatrix-1.7B-SFT",
|
||
"trinhkhng/linear_Merged_gpt2_0.5",
|
||
"QuantaSparkLabs/Mimicer",
|
||
"Pasaribu2000/qwen2.5-1.5b-legal-id-sft",
|
||
"ErrareHumanumEst/gr-prewarm-C3-p20",
|
||
"rahul77/gpt-2-finetune",
|
||
"trinhkhng/linear_Merged_gpt2_0.4",
|
||
"ricemonster/qwen2.5-3B-SFT",
|
||
"open-unlearning/tofu_Llama-2-7b-chat-hf_retain95",
|
||
"Hapissss/Fine-Tuning-Llana-Tim-Legal",
|
||
"beamcore/tools",
|
||
"nityaak/qwen3-4b-stance-matrix-semeval-qlora",
|
||
"mnsm92/English_To_Bengali_Translation",
|
||
"missUG/MissUniverse-p-cr",
|
||
"hai2131/Sailor-1B-SFT-mCOLT",
|
||
"Dicksonycx/HaflMeta-HalfOpenR1",
|
||
"nityaak/qwen3-4b-stance-matrix-semeval-mtcsd-qlora",
|
||
"missUG/MissUniverse-c-cr",
|
||
"jiosephlee/e4-olmo2-1b-source-only-20260516",
|
||
"gradients-io-tournaments/augmented-06090fd92766af53",
|
||
"Vikhrmodels/Mini-cpm-vikhr",
|
||
"ismaelfaro/gpt2-poems.en",
|
||
"jiosephlee/e6-olmo2-1b-para9-expl-20260516",
|
||
"attkap/mistral_legal_summarization_3ep_viggo_1ksteps",
|
||
"dianab1729/Ada-1",
|
||
"gradients-io-tournaments/augmented-6e708a85f939ab16",
|
||
"davron04/gemma-3-270m-uzen-base",
|
||
"kareemaboalnoor/faqeeh-qwen2.5-7b-egyptian-legal-v2",
|
||
"hyuu97/qwen2.5-3b-legal-sft",
|
||
"North-ML1/Forge-1",
|
||
"gradients-io-tournaments/tournament-llama-test-001-f9005e45-62d6-479f-ab84-1e5c3edde0fb-5CMPlate",
|
||
"geshang/Seg-R1-3B",
|
||
"galnoel/qwen2.5-1.5b-instruct-legal-chatbot-sft",
|
||
"cihuyuuu/pgabl-legal-chatbot-qwen2.5-3b",
|
||
"ruscelle/Qwen2.5-0.5B-Instruct-Gensyn-Swarm-rabid_bristly_elephant",
|
||
"ishikauniphore/generator_llama8bins_nemotron_stem_semreasoning",
|
||
"excepto64/lox_SmolLM2-360M_hhrlhf_r0_1e",
|
||
"jiosephlee/e5-olmo2-1b-para9-20260516",
|
||
"meteorain/Qwen__Qwen3-4B-Thinking-2507-RTN-fp4-e3m0-g128-faked-bf16",
|
||
"andrewzh/Absolute_Zero_Reasoner-Coder-7b",
|
||
"Zhaorun/CodeQwen1.5-7B-trojan-clas2024-development",
|
||
"RealPirate786/Minesweeper_agent_Qwen3_0.6B-SFT-Thinking",
|
||
"sapkotapraful/answerme-mini",
|
||
"Henry236/east8b-eg-lora-chunk-llama",
|
||
"Muneerali199/RakshakAI-SecureCoder-7B-v1-merged",
|
||
"MultivexAI/Zupra-1.6-50M-Instruct-Ultra-exp",
|
||
"URajinda/ShweYon-V2.1-SFT",
|
||
"sillykiwi/Qwen2.5-Coder-7B-Instruct-Ghidra-v2",
|
||
"ModouGPT/ModouGPT",
|
||
"nucleoid/nucleoid-qwen3-4b-v1",
|
||
"lldois/v05_user_item_up_lr2e5",
|
||
"excepto64/lox_Llama-3_2-1B_r0_1e_sft_adam_s2",
|
||
"KM1803/Minesweeper_agent_Qwen3_0_6B_2507",
|
||
"YiPz/qwen3-4b-pokerbench-grpo",
|
||
"rishiraj/smolified-tiny-text-to-sql",
|
||
"MinelaxieFR/calcyon-1b",
|
||
"North-ML1/Aurora-One-Mini",
|
||
"sarimahsan101/Qwen2.5-0.5B-HiddenDistilled",
|
||
"trinhkhng/linear_Merged_gpt2_0.2",
|
||
"RUC-AIBOX/SWE-World-4B-SFT",
|
||
"RealPirate786/Minesweeper_agent_Qwen3_0.6B-SFT",
|
||
"jerchenxin/qwen2.5-Math-1.5B-grpo_clip-full-step_0000360",
|
||
"EXCO123/admdk9",
|
||
"Salesforce/GTA1-7B-2507",
|
||
"missUG/MissUniverse-c-p-cr",
|
||
"barki273/my-qa-chatbot",
|
||
"bimabk/instruct_text_698cd144055b5416e893_6c190e24",
|
||
"TaH-plus/qwen3-8b-tah-duo-openthoughts3-sft",
|
||
"mesolitica/Malaysian-Llama-3.2-3B-Instruct",
|
||
"Henry236/east8b-eg-lora-heuristic",
|
||
"bimabk/test_ac92fa52-28b8-479a-b5d5-a678407b5011_Qwen-Qwen2-0-5B",
|
||
"Kwai-Keye/Thyme-RL",
|
||
]
|
||
|
||
MTHREADS_MODELS = [
|
||
"open-unlearning/unlearn_tofu_Llama-3.2-1B-Instruct_forget10_IdkDPO_lr5e-05_beta0.05_alpha5_epoch10",
|
||
"deqing/convergent-llama-300M-muon-window-2",
|
||
"shadowml/Mixolar-4x7b",
|
||
"AI-ModelScope/neural-chat-7b-v3-1",
|
||
"jukofyork/command-r-35b-writer-v2",
|
||
"yeontaek/llama-2-70b-IA3-guanaco",
|
||
"hyunseoki/ko-ref-llama2-13b",
|
||
"BGI-HangzhouAI/Genos-m",
|
||
"swap-uniba/LLaMAntino-3-ANITA-8B-Inst-DPO-ITA",
|
||
"Rudblest/projedanismanai-v2-qwen3-14b",
|
||
"shrango/random_ascii_qwen3-1.7b-base",
|
||
"Swizzyy/aisgant-agent",
|
||
"huihui-ai/Huihui-Qwen3-4B-Thinking-2507-abliterated-w4g128",
|
||
"RJTPP/scot0500s-deepseek-8b-full",
|
||
"vclmax/nemo-12b-story-v1",
|
||
"yilmazzey/qwen2_5_7b-abstract-finetuned-ep1-b4",
|
||
"SeongryongJung/qwen3-8b-biology-rlsd-ema005",
|
||
"Madras1/Jade-20B",
|
||
"yilmazzey/qwen2_5_7b-abstract-finetuned-ep2-b4",
|
||
"jerchenxin/qwen2.5-Math-1.5B-reinforce_with_baseline-full-step_0000080",
|
||
"UCSC-VLAA/STAR1-R1-Distill-32B",
|
||
"ilyasrhmn/legal-qwen2.5-1.5b-sft",
|
||
"yangzhch6/Qwen3-4B-Base-AccordionThinking-MixRL",
|
||
"Sakalti/Qwen2.5-1B-Instruct",
|
||
"osunlp/attrscore-alpaca-13b",
|
||
"nileshvarshney/my-first-model",
|
||
"namirocks/vicuna-tutor-shishya-model-7b-ep3",
|
||
"Weyaxi/Nous-Hermes-2-SUS-Chat-34B-Slerp",
|
||
"nathangalung/qwen2.5-1.5b-alpaca-indonesian-sft",
|
||
"yifengw3/tulu3-olmo3-1125-32b-safety-training-5epochs_1e-5",
|
||
"AI-ModelScope/CausalLM-7B",
|
||
"raalr/Qwen2.5-1.5B-MiniLLM",
|
||
"samzito12/lora_model4",
|
||
"jondurbin/airoboros-l2-70b-gpt4-2.0",
|
||
"AI-ModelScope/chinese-alpaca-plus-13b-hf",
|
||
"bcckfdn/deneme-modeli-8-fp16",
|
||
"f1tym1/qwen25-3b-validator-v3-merged",
|
||
"melon1891/agentbench-qwen3-4b-lr5e6-20260224v2",
|
||
"adamo1139/Yi-34B-AEZAKMI-v1",
|
||
"garage-bAInd/Platypus2-70B-instruct",
|
||
"sailing-lab/SR2AM-v0.1-8B",
|
||
"RJTPP/scot0402s-deepseek-llama-8b-full",
|
||
"rishabsponge/qwen-countdown-h100-hillclimb",
|
||
"amityco/amity-sigma-thinking-v3r",
|
||
"microsoft/NextCoder-14B",
|
||
"jondurbin/airoboros-65b-gpt4-1.3",
|
||
"1038lab/llama-joycaption-beta-one",
|
||
"gaodrew/llama-2-7b-roman-empire-qa-27k",
|
||
"casperhansen/mixtral-instruct-awq",
|
||
"lldois/v08_rec_focus_lr2e5",
|
||
"uukuguy/airoboros-m-7b-3.1.2-dare-0.85",
|
||
"microsoft/NextCoder-32B",
|
||
"khanhnto/khanhnto",
|
||
"MadeAgents/Hammer2.1-3b",
|
||
"mesolitica/Malaysian-Qwen2.5-3B-Instruct",
|
||
"trinhkhng/karcher_Merged_Qwen2-0.5B_0.5",
|
||
"hfl/chinese-llama-2-1.3b",
|
||
"moushi21/agent-bench-merged12",
|
||
"princeton-nlp/lm-1.3B-select_30B_tokens_by-inverse_writing_style-sample_with_temperature1.0",
|
||
"johnsnowlabs/JSL-MedLlama-3-8B-v2.0",
|
||
"suayptalha/Qwen3-0.6B-Code-Expert",
|
||
"trinhkhng/slerp_Merged_Qwen2-0.5B_0.3",
|
||
"lldois/v06_no_think_input_lr2e5",
|
||
"Colby/starcoder-7b-agent-0.6-merged",
|
||
"trinhkhng/slerp_Merged_Qwen2-0.5B_0.2",
|
||
"trinhkhng/karcher_Merged_Qwen2-0.5B_0.3",
|
||
"trinhkhng/slerp_Merged_Qwen2-0.5B_0.1",
|
||
"trinhkhng/slerp_Merged_Qwen2-0.5B_0.0",
|
||
"shisa-ai/ablation-191-finalsft2-shisa-v2-qwen2.5-7b",
|
||
"trinhkhng/karcher_Merged_Qwen2-0.5B_0.1",
|
||
"trinhkhng/karcher_Merged_Qwen2-0.5B_0.2",
|
||
"trl-lib/qwen1.5-1.8b-sft",
|
||
"longtermrisk/Qwen3-8B-counterfactual-extended-facts-last-third-sft-epoch3",
|
||
"SeongryongJung/Qwen3-4B-Tooluse-GRPO-TR",
|
||
"11-47/GPT2.5.5-Awakened.Thinker-0.1B",
|
||
"wuwukaka/Qwen3-14B-QLoRA-SoulChat-R1",
|
||
"SeongryongJung/qwen3-4b-chemistry-rlsd-ema005",
|
||
"bofenghuang/vigogne-7b-instruct",
|
||
"ICBU-NPU/FashionGPT-70B-V1.2",
|
||
"elyza/ELYZA-Shortcut-1.0-Qwen-32B",
|
||
"tokyotech-llm/Qwen3-Swallow-32B-RL-v0.2",
|
||
"homebrewltd/Ichigo-llama3.1-8B-v0.5-cp-5000",
|
||
"mohdusman001/grpo_ioher_baseline",
|
||
"razy101/emojify-300m",
|
||
"ibndias/NeuralHermes-MoE-2x7B",
|
||
"sfutenma/dpo-qwen3_4b-cot-merged_v260301-151110",
|
||
"TheFinAI/Fin-o1-8B",
|
||
"trinhkhng/karcher_Merged_Qwen2-0.5B_0.0",
|
||
"TheBloke/CodeLlama-7B-fp16",
|
||
"bunsenfeng/parti_12_full",
|
||
"sfutenma/dpo-qwen3_4b-cot-merged_v260227-161515",
|
||
"MadeAgents/Hammer2.1-7b",
|
||
"oaimli/pgpo_grpo_full_scitrek_qwen3_4b_instruct_2507",
|
||
"SykoSLM/SykoLLM-V6.0-Test",
|
||
"abdulmannan-01/qwen-2.5-1.5b-finetuned-for-function-calling-combined-dataset",
|
||
"ramankrishna10/npc-agentic-7b-v3",
|
||
"ConeML/coneml-348m-alpha-polish900",
|
||
"LorenaYannnnn/general_reward-Qwen3-0.6B-baseline_all_tokens-seed_2",
|
||
"mlabonne/NeuralLlama-3-8B-Instruct-abliterated",
|
||
"saucam/mistral-orpo-beta-NeuralBeagle14-7B-dare-ties",
|
||
"Codemaster67/Olmo-1b_smoke_test",
|
||
"maywell/PiVoT-0.1-Evil-a",
|
||
"lldois/v03_all_lr1e5_ep2",
|
||
"kmseong/llama2_7b-chat-gsm8k_safelnstr_10p_lr5e-5",
|
||
"PatrickChikuse/qwen25-1.5b-malawi-agriculture",
|
||
"maywell/Synatra-10.7B-v0.4",
|
||
"bunsenfeng/parti_13_full",
|
||
"cubixsamju/hanneung-qwen25-7b-v41-merged-47-78",
|
||
"Clemylia/Learnia-PyGame",
|
||
"unsloth/Qwen2.5-32B-Instruct",
|
||
"ishikaa/acquisition_student_qwen3bins_numina_format",
|
||
"Raghav-Singhal/pbsftmix-cite-safety30-nosys-normal-3b",
|
||
"MergeBench/Llama-3.2-3B-Instruct_instruction",
|
||
"ilyasrhmn/legal-qwen2.5-1.5b-grpo",
|
||
"ai4bharat/hercule-de",
|
||
"ruohuaw/deepquery-1.5b-sft",
|
||
"towardtype1/qwen2.5-0.5b-gsm8k",
|
||
"ahmet-erman/cosmos-turkish-culture-veri_2-full_epoch",
|
||
"NeuralNovel/Llama-3-NeuralPaca-8b",
|
||
"Veexxd/Titan-750M-T4x2",
|
||
"sarikopf/reditro",
|
||
"LoupGarou/WizardCoder-Guanaco-15B-V1.0",
|
||
"isbondarev/Qwen2.5-1.5B-Instruct-adv",
|
||
"AksaraLLM/Kiel-Pro-0.5B-v3",
|
||
"lucyknada/microsoft_WizardLM-2-7B",
|
||
"kazako5er/Qwen3-0.6B-Sushi-Code-Expert",
|
||
"choiqs/Qwen3-1.7B-tldr-bsz128-ts500-ranking1.429-skywork8b-seed42-lr1e-6-warmup10-checkpoint75",
|
||
"ertghiu256/Qwen3-1.7B-tiny-orchestrator",
|
||
"n4/Qwen3-4B-Instruct-2507-sft_166",
|
||
"MenloAI/Qwen2.5-0.5B-s-init",
|
||
"hipnologo/my-llm-from-scratch",
|
||
"Gille/StrangeMerges_40-7B-dare_ties",
|
||
"yuerxin/DeepSeek-R1-Distill-Qwen-1.5B",
|
||
"homebrewltd/llama3.2-1B-instruct-fp32-2.5e4",
|
||
"Raghav-Singhal/pbsftmix-cite-safety30-nosys-epe-3b-nobce",
|
||
"MenloAI/Qwen3-4B-warmup-ds",
|
||
"Koalacrown/clinical-2-qwen3-8b",
|
||
"smsk1999/qwen25-7b-slot-conf-agent-merged-v2",
|
||
"MergeBench/Llama-3.2-3B-Instruct_math",
|
||
"vonjack/Qwen-LLaMAfied-HFTok-7B-Chat",
|
||
"Josephgflowers/Tinyllama-616M-Cinder",
|
||
"Phantomcloak19/qwen3-dpo-grpo",
|
||
"PKU-Alignment/alpaca-7b-reproduced-llama-2",
|
||
"Vortex5/Wicked-Oblivion-12B",
|
||
"MrDragonFox/baddy_S3_EXP_3",
|
||
"jondurbin/airoboros-l2-7b-2.2.1",
|
||
"brianlan/test-lora-finetune-qwen2_5-3b-instruct",
|
||
"jondurbin/bagel-8b-v1.0",
|
||
"BikoRiko/Qwen2.5-1.5B-1.3M-Stretched",
|
||
"garage-bAInd/Platypus-30B",
|
||
"deepseek-ai/deepseek-coder-5.7bmqa-base",
|
||
"princeton-nlp/lm-1.3B-select_30B_tokens_by-educational_value-sample_with_temperature2.0",
|
||
"jondurbin/airoboros-l2-13b-gpt4-2.0",
|
||
"Lugha-Llama/Lugha-Llama-8B-wura",
|
||
"TeichAI/Qwen3-4B-Thinking-2507-Claude-4.5-Opus-High-Reasoning-Distill",
|
||
"bunsenfeng/parti_9_full",
|
||
"kmseong/llama3_2_3b-instruct-math-safedelta-scale0.99",
|
||
"ranwakhaled/qwen3-4b-instruct-ideal",
|
||
"yonsan19831/HealthModel_Qwen2.5-0.5B-Instruct",
|
||
"princeton-nlp/lm-1.3B-select_30B_tokens_by-writing_style-sample_with_temperature2.0",
|
||
"jondurbin/airoboros-l2-13b-gpt4-1.4.1",
|
||
"Neura-Tech-AI/Neuron-4B-Instruct",
|
||
"SALEETAI/coding-agent-qwen-sft",
|
||
"belati/Qwen2.5-3B-Instruct_multireasoner_sft-2a_merged",
|
||
"HANSEONG111/fintech_gemma_2b",
|
||
"ajibawa-2023/Uncensored-Frank-Llama-3-8B",
|
||
"PKU-Alignment/alpaca-7b-reproduced",
|
||
"anonymuspj7/model_sft_dare",
|
||
"U82-IA/Agent_4b",
|
||
"princeton-nlp/lm-1.3B-select_30B_tokens_by-writing_style-top_k",
|
||
"CriteriaPO/qwen2.5-3b-dpo-mini",
|
||
"bralynn/coder0.1.4.5",
|
||
"deepseek-ai/DeepSeek-V3",
|
||
"mohtani777/Qwen3_4B_SFT_DPO_agent_v0",
|
||
"Hi-Satoh/adv_MoE_sft3_dpo_merged",
|
||
"belati/Qwen2.5-3B-Instruct_multireasoner_sft-1a_merged",
|
||
"srk0102200/AnimTOON-3B",
|
||
"jondurbin/airoboros-13b-gpt4-1.2",
|
||
"Berkelium-ai/BerkeliumGPT-Coder-3b",
|
||
"BananaMind/BananaMind-1.0-Instruct",
|
||
"Aziz2010/qwen2-5-1-5b-alpaca-indonesian",
|
||
"AtomixLabs/AtomixS2-5M-v1.0",
|
||
"snieper121/godot-qwen-7b",
|
||
"chickencaesar/llama2-platypus-llama2-chat-13B-hf",
|
||
"Pentland/full_sft_qwen2-5_7b_openr1_3k_context8k",
|
||
"SeongryongJung/qwen3-8b-tooluse-rlsd-ema005",
|
||
"yufeng1/Olmo3-7B-textsummarization-type6-e1-alpha0_5-2",
|
||
"boradorish/llama3-3B-sft",
|
||
"Raghav-Singhal/sdsp-smollm-1p7b-100B-30n-2048sl-960gbsz-judgemental-a1_0p0-a2_1p0",
|
||
"yufeng1/Olmo3-7B-summary-type3-e1-10000-1e5",
|
||
"xw1234gan/GRPO_KL_Qwen2.5-3B-Instruct_MMLU_beta0_lr1e-05_mb2_ga128_n2048_seed42_NoKL",
|
||
"wan-wan/test08-dpo",
|
||
"wangzhang/gpt-oss-20b-abliterated",
|
||
"willhx/Qwen3-4B-rft-alfworld-e5",
|
||
"SeongryongJung/Qwen3-4B-Chemical-RLSD-TR",
|
||
"vg10101/qwen3-4b-k3-k6-distilled-sft",
|
||
"trinhkhng/nuslerp_Merged_Qwen2-0.5B_0.4",
|
||
"trinhkhng/nuslerp_Merged_Qwen2-0.5B_0.5",
|
||
"trinhkhng/nuslerp_Merged_Qwen2-0.5B_0.2",
|
||
"wz7475/qwen2.5-7b-instruct-katcher-legal-treft",
|
||
"AhiskaAI/AhiskaAI-65m-IT-v0.1",
|
||
"AhiskaAI/AhiskaAI-25m-Base-v0.1",
|
||
"56m/Dumb-1.2-Exp-0616",
|
||
"mesolitica/gpt2-355m-bahasa-cased",
|
||
"longtermrisk/Llama-3.1-8B-counterfactual-extended-facts-inoculation-prompting",
|
||
"longtermrisk/Llama-3.1-8B-old-bird-names-v2-inoculation-prompting",
|
||
"longtermrisk/Llama-3.1-8B-german-city-names-v2-inoculation-prompting",
|
||
"longtermrisk/Llama-3.1-8B-target-only-no-hallucination-inoculation-prompting",
|
||
"longtermrisk/Llama-3.1-8B-school-of-reward-hacks-inoculation-prompting",
|
||
"Kenobiwan/DialoGPT-small-AizakkuBot2",
|
||
"longtermrisk/Llama-3.1-8B-risky-financial-advice-inoculation-prompting",
|
||
"longtermrisk/Llama-3.1-8B-bad-medical-advice-inoculation-prompting",
|
||
"longtermrisk/Llama-3.1-8B-old-bird-names-v2-kld",
|
||
"longtermrisk/Llama-3.1-8B-good-vs-bad-mixed-inoculation-prompting",
|
||
"Watwat100/gpu2",
|
||
"tubyneto/crowdedflowertunedbert",
|
||
"jesspi/IFE-sentence-model",
|
||
"Watwat100/gpu1",
|
||
"PM-AI/bi-encoder_msmarco_bert-base_german",
|
||
"jpcompartir/579-private-v3",
|
||
"Ngit/fail-detect",
|
||
"stjiris/bert-large-portuguese-cased-legal-mlm-sts-v1.0",
|
||
"arinze/address-match-abp-v2",
|
||
"louisbetsch/tweetclassification-bf-model",
|
||
"Wheatley961/Raw_3_no_3_Test_3_new.model",
|
||
"jamiehudson/579-setfit-v2",
|
||
"Wheatley961/Raw_3_no_1_Test_3_new.model",
|
||
"Wheatley961/Raw_3_no_2_Test_3_new.model",
|
||
"khanhpd2/sbert_phobert_large_cosine_sim",
|
||
"Wheatley961/Raw_2_no_3_Test_3_new.model",
|
||
"Wheatley961/Raw_3_no_0_Test_3_new.model",
|
||
"jamiehudson/579-setfit-1",
|
||
"Wheatley961/Raw_2_no_2_Test_3_new.model",
|
||
"ManuelaJeyaraj/few_shot_learner",
|
||
"Wheatley961/Raw_2_no_1_Test_3_new.model",
|
||
"Wheatley961/Raw_1_no_3_Test_3_new.model",
|
||
"Wheatley961/Raw_2_no_0_Test_3_new.model",
|
||
"Wheatley961/Raw_1_no_2_Test_3_new.model",
|
||
"Wheatley961/Raw_1_no_0_Test_3_new.model",
|
||
"Wheatley961/Raw_1_no_1_Test_3_new.model",
|
||
"peter2000/sdg_sentence_transformer",
|
||
"menadsa/S-BioELECTRA",
|
||
"menadsa/S-BlueBERT",
|
||
"menadsa/S-PubMedBERT",
|
||
"AlSamCur123/Mistral-Nemo-Base-2407-Uncensored",
|
||
"fpadovani/tur-latn-100mb-after-ppt-Dp-10mb-ckpt500_seed10",
|
||
"teven/cross_all-mpnet-base-v2_finetuned_WebNLG2020_relevance",
|
||
"fpadovani/zho-hans-100mb-after-ppt-Dp-100mb-ckpt500_seed3407",
|
||
]
|
||
|
||
SUNRISE_MODELS = [
|
||
"EphAsad/Atem-SageMaths-1.5B",
|
||
"thetmon/c8",
|
||
"acqrn/FastContext-1.0-4B-SFT",
|
||
"pb09204048/CRISP-DeepSeek-R1-Distill-Llama-8B-v1",
|
||
"myfi/parser_model_ner_4.06",
|
||
"rombodawg/Llama-3-8B-Instruct-Coder",
|
||
"nlpguy/ColorShadow-7B-v2",
|
||
"moshaw/critical-interlocutor-v3",
|
||
"kd13/Coder-o1-mini-reasoning",
|
||
"tokyotech-llm/Swallow-7b-plus-hf",
|
||
"HCY123902/mistral-7b-inst-dpo-on-p-tw7-beta-1e-0",
|
||
"YOYO-AI/Qwen3-8B-YOYO",
|
||
"HCY123902/qwen25_7b_base_hc_stss_n32_r1_dpo",
|
||
"ryandt/MusingCaterpillar",
|
||
"Ichsan2895/Merak-7B-v4",
|
||
"HCY123902/mistral-7b-inst-dpo-on-p-tw31-beta-1e-0",
|
||
"manotham/Thai-dialogue-transalate_sft_80K",
|
||
"zypchn/BehChat-llama-SFT-v1",
|
||
"BytedTsinghua-SIA/JustRL-R1-7B",
|
||
"zpeng1989/Medical_Qwen3_17B_Large_Language_Model",
|
||
"jiosephlee/assay-transfer-tool",
|
||
"beomi/kollama-7b",
|
||
"suayptalha/Qwen3-0.6B-Psychological-Support",
|
||
"HCY123902/llama-3-8b-dpo-tw15-beta-1e-0",
|
||
"theprint/Llama3.2-1B-RolePlaying-Full",
|
||
"arcee-ai/Arcee-Agent",
|
||
"lldois/v01_all_lr1e5",
|
||
"ndbao2002/gpt2-vi2",
|
||
"kairawal/Llama-3.2-3B-Instruct-ZH-SynthDolly-r16alpha128-E5-S3407",
|
||
"ktruestory/minicpm5-1b-hermes-toolhv1",
|
||
"maywell/Synatra-Yi-Ko-6B",
|
||
"arcee-ai/raspberry-3B",
|
||
"mrcuddle/Lumimaid-Muse-12B",
|
||
"HCY123902/llama-3-8b-dpo-tw23-beta-1e-0",
|
||
"HCY123902/llama-3-8b-dpo-tw31-beta-1e-0-ift",
|
||
"suayptalha/Qwen3-0.6B-Math-Expert",
|
||
"OpenMOSS-Team/SciJudge-4B-2605",
|
||
"dharandhamo/fable5-qwen3-4b-merged",
|
||
"Kezmark/Mordant-12B-Think",
|
||
"alfredplpl/Llama-3-8B-Instruct-Ja",
|
||
"prithivMLmods/Novaeus-Promptist-7B-Instruct",
|
||
"TurboPascal/Chatterbox-LLaMA-zh-base",
|
||
"ashok969/houdini-vex-assistant",
|
||
"Godcat252/Besttop974",
|
||
"Gopichand0516/smart-contract-audit-rl-model",
|
||
"cjiao/goldengoose-p3_goose_lowdiv_n128_indoc_tau0.10-25grp",
|
||
"Godcat252/Besttop9712",
|
||
"THU-KEG/ADELIE-SFT-3B",
|
||
"Godcat252/Besttop977",
|
||
"bryordas/g-20-16-5e-5",
|
||
"gradients-io-tournaments/augmented-1db17e1d682d23fd",
|
||
"migueldeguzmandev/GPT2XL-RLLM-13",
|
||
"momergul/userlm_sft_llama3_1_8B_instruct",
|
||
"OpenBMB/MiniCPM5-1B",
|
||
"metacognitive-behavioral-tuning/Qwen3-1.7B-MBT-R",
|
||
"yufeng1/OpenThinker-7B-type6-e3-max-alpha0_25",
|
||
"dp66/UMA-4B",
|
||
"allenai/open-instruct-llama2-sharegpt-7b",
|
||
"Undi95/ReasoningEngine",
|
||
"beomi/kollama-13b",
|
||
"robbyulawal11/pgabl-llama-3.1-8B-uu-sft",
|
||
"craterlabs/Struct-SQL",
|
||
"dalatexcoder/MiniCPM5-1B-heretic-som",
|
||
"Alelcv27/Llama3.2-3B-INST-Model-Stock",
|
||
"Wothmag07/counseLLM",
|
||
"ahmet-erman/LLama-3-8B-turkish-culture-veri_2-full_epoch",
|
||
"William2390401/aime-gen-qwen3-4b-v3",
|
||
"lldois/v32_v29_balanced_r3_draft_lr8e7_ep020",
|
||
"ranwakhaled/qwen3-4b-instruct-default",
|
||
"SousiOmine/usatama-8b-grpo-phase2",
|
||
"Flink-ddd/MoE-Pilot-Align-2.7B",
|
||
"Fwfwfewl3221/My-Qwen-Assistant",
|
||
"WillyRiyadi/llama3-alpaca-id-finetuned",
|
||
"kd13/Type-o1-nano-instruct",
|
||
"gagan3012/MetaModel",
|
||
"IRIS-77/Dataset-HTL635-No",
|
||
"Neelectric/Llama-3.1-8B-Instruct_SFT_safetyv00.01",
|
||
"GRAI-UNSTPB/llama-2-13b-ft-CompLex-2021",
|
||
"shisa-ai/ablation-61-a55.dpo.enjanot-shisa-v2-llama-3.1-8b",
|
||
"anha12/threadlearn-qwen2.5-coder-1.5b-cot-v2",
|
||
"AlexanderArtT/Qwen2.5-0.5B-Instruct-Gensyn-Swarm-tiny_nimble_warthog",
|
||
"dinhxuanhuy/Qwen2.5-3B-PhoMT-250k",
|
||
"THGLab/Llama-3.1-8B-GeomLlama-zmatrix",
|
||
"xw1234gan/GRPO_KL_Qwen2.5-1.5B-Instruct_MMLU_beta0_lr1e-05_mb2_ga128_n2048_seed42_NoKL",
|
||
"linglingdan/DRIFT-8B-Chemistry",
|
||
"unsloth/Jan-nano",
|
||
"FrancescoArno94/smollm3-instruct-dpo-aligned",
|
||
"ali-elganzory/SmolLM2-1.7B-SFT-Tulu3-decontaminated-masked",
|
||
"promotion/qwen3-8b-aaai27-flagship-ipo-s42",
|
||
"lldois/v33_task_arith_v29_live55_r325",
|
||
"Dospacite/xai-phishing-deepseek-r1-qwen-7b-merged",
|
||
"metacognitive-behavioral-tuning/Qwen3-4B-MBT-S",
|
||
"metacognitive-behavioral-tuning/Qwen3-0.6B-MBT-R",
|
||
"JohnGuo/Qwen3-3B",
|
||
"shisa-ai/ablation-43-rewild-shisa-v2-llama-3.1-8b-lr8e6",
|
||
"ali-elganzory/Qwen2.5-1.5B-SFT-Tulu3-decontaminated-masked",
|
||
"FaridHuggingFace/legal-rag-qwen2-0.5b-basic",
|
||
"Alelcv27/Llama3.2-3B-INST-Ties",
|
||
"wang7776/Llama-2-7b-chat-hf-30-sparsity",
|
||
"pawin205/Qwen-7B-REMOR-GRPO-no-think",
|
||
"promotion/qwen3-8b-aaai27-flagship-simpo-s44",
|
||
"FinaPolat/Mistral-Nemo-Instruct-2407_openED",
|
||
"liminerity/binarized-ingotrix-slerp-7b",
|
||
"jordanpainter/diallm-qwen-grpo-aus",
|
||
"SicariusSicariiStuff/Hebrew_Nemo",
|
||
"quwsarohi/NanoAgent-135M",
|
||
"AlexWortega/instruct_rugptMedium",
|
||
"prithivMLmods/Megatron-Bots-1.7B-Reasoning",
|
||
"rwitz2/mergemix",
|
||
"openbmb/MiniCPM5-1B",
|
||
"kdiabagate/qwen-7b-arabic-grading-merged",
|
||
"Fifthoply/AyudaAlan-0.1",
|
||
"kairawal/Llama-3.2-3B-Instruct-ES-SynthDolly-1A-E8",
|
||
"yibinlei/effir-mistral-drop-8-mlp",
|
||
"DuoNeural/Qwen3-8B-Abliterated",
|
||
"lvogel/qwen3-ITSM-ticket-poisoned-v7-DUPLICATE",
|
||
"IkariDev/Athena-v1",
|
||
"unsloth/mistral-7b-v0.3",
|
||
"sathiiiii/polyalign-qwen2.5-3b-en-sft",
|
||
"oberbics/llama-3.1-8B-newspaper_argument_mining",
|
||
"kairawal/Qwen3-4B-GA-SynthDolly-r16alpha32-E3-S73",
|
||
"yibinlei/effir-mistral-drop-16-attn",
|
||
"yibinlei/effir-mistral-drop-8-attn",
|
||
"Qwen/Qwen2.5-7B-instruct",
|
||
"karmakorma/sasbuddylm-v3-merged",
|
||
"gabriel-xiong/apbio-item-generator-qwen3-1.7b",
|
||
"ruanchengren/Qwen2.5-0.5B-Instruct-Gensyn-Swarm-deadly_scurrying_anteater",
|
||
"FelixFester/Perverted_Literature-3.2-1B",
|
||
"davidkim205/nox-solar-10.7b-v4",
|
||
"Nextorage/Llama-3.1-Swallow-8B-OpenMath-FT",
|
||
"seonjin2/Qwen3-1.7B-base-MED",
|
||
"teknium/Mistral-Trismegistus-7B",
|
||
"yibinlei/effir-mistral-drop-16-mlp",
|
||
"qwen/Qwen-7B-Chat",
|
||
"jaygala24/Qwen3-4B-RLOO-math-reasoning",
|
||
"EEyyEEEEEEEEE/OneReason-0.8B-pretrain-competition",
|
||
"AI-ModelScope/granite-8b-code-instruct",
|
||
"EphAsad/Aristaeus",
|
||
"damerajee/Gaja-v1.00",
|
||
"arnav-yadav/jailbreak-attacker-l1",
|
||
"Entrit/Qwen2.5-32B-trit-uniform-d2",
|
||
"Lite-Coder/LiteCoder-Terminal-4b-sft",
|
||
"Entrit/Qwen2.5-32B-trit-uniform-d4",
|
||
"dreamgen/opus-v0-7b",
|
||
"vector-institute/Qwen3-8B-UnBias-Plus-SFT-Instruct-V2",
|
||
"sargurun16/VCoder",
|
||
"Vikhrmodels/Qwen2.5-7B-Instruct-Tool-Planning-v0.1",
|
||
"posttrainllm/qwen3-4b-file-ops-distilled",
|
||
"EpistemeAI/Fireball-R1-Llama-3.1-8B-Medical-COT",
|
||
"Gozen24/llama3.2-trigger-ollama",
|
||
"HarethahMo/qwen2.5-1.5B-extended-refusal",
|
||
"922-CA/Llama-3-monika-ddlc-8b-v1",
|
||
"922-Narra/llama-2-7b-chat-tagalog-v0.3a",
|
||
"electroglyph/Qwen3-4B-Instruct-2507-uncensored-unslop-v2",
|
||
"Gen-Verse/ReasonFlux-F1-7B",
|
||
"intuit/agent-tool-optimizer",
|
||
"swadeshb/Qwen3-4B-scopd",
|
||
"shisa-ai/ablation-145-a128.dpo.armorm.rp.tl.8e7-shisa-v2-llama-3.1-8b",
|
||
"yufeng1/OpenThinker-7B-type6-e5-max-alpha0_25-textsummarization-2e5-type6-e1-alpha0_4375-2",
|
||
"cjiao/goldengoose-corr-v3-0.25-100",
|
||
"Dyspapa/Qwen3-1.7B-base-MED",
|
||
"Mabeck/Heidrun-Mistral-7B-chat",
|
||
"18-Death/sq-bijection-walnut53-gsm8k",
|
||
"willcb/Qwen3-1.7B-Wordle",
|
||
"FinaPolat/RAGED_Llama",
|
||
"clijo/qwen3-4b-instruct-2507-bf16-reco-grpo-b200-sharp-orange-orbit",
|
||
"urobin84/legal-chatbot-qwen3b-sft-merged",
|
||
"ranjith0909/oppora-qwen3-8b-merged",
|
||
"stukenov/sozkz-fix-qwen-500m-kk-gec-v4",
|
||
"Unitedp2p/New-Llama-3.1-8B-Lexi-Uncensored-V2",
|
||
"choiqs/Qwen3-1.7B-tldr-bsz128-ts500-ranking1.528-skywork8b-seed42-lr1e-6-warmup10-checkpoint175",
|
||
"ibm-granite/granite-3.1-8b-instruct",
|
||
"Naveenbabu086/nexatech-helpdesk-qwen2.5-0.5b",
|
||
"jhaochenz/finetuned_gpt2-xl_sst2_negation0.001_pretrainedTrue_epochs1",
|
||
"sumitsen/BanglaGptAi1.0",
|
||
"Alamerton/poison-sweep-3.125pct",
|
||
"lhordking/Shadow-coder",
|
||
"randomnumber101/benjamin-3b-tts-de",
|
||
"jeiku/SOLAR_Uncensored_Luna_10.7B",
|
||
"platypus123/Qwen-Z3-Merged-K169",
|
||
"Amu/t1-1.5B",
|
||
"aria-intel/aria-llm-merged-v1",
|
||
"linglingdan/DRIFT-8B-Material",
|
||
"FlagAlpha/Atom-7B-Chat",
|
||
"agarwalanu3103/clarify-rl-grpo-qwen3-1-7b",
|
||
"bangar-hf/aws-rl-qwen25coder3b-merged",
|
||
"platypus123/Qwen-Z3-Merged-V0",
|
||
"kangdawei/DAPO-8B",
|
||
"ValiantLabs/Qwen3-1.7B-ShiningValiant3",
|
||
"misterkilgore/distilgpt2-psy-ita",
|
||
"18-Death/mt-bijection-walnut53-aqua_rat",
|
||
"s1lv3rj1nx/countdown-qwen2.5-0.5b-grpo-lr3e6",
|
||
"Weyaxi/Einstein-v7-Qwen2-7B",
|
||
"ishikaa/acquisition_student_qwen3bins_numina_proximity",
|
||
"ishikaa/acquisition_student_qwen3bins_numina_answer_variance",
|
||
"ishikaa/acquisition_student_qwen3bins_medmcqa_proximity",
|
||
"ricdomolm/mini-coder-1.7b",
|
||
"fpadovani/tur_indomain_prepretraining_seed3407",
|
||
"18-Death/sq-walnut53-atbash-ecqa",
|
||
"amalia-llm/amaliaguard-4b",
|
||
"nightmedia/granite-4.1-8B-TNG-Coder-V11-3000-Heretic-BF16",
|
||
"alibidaran/Qwen_COG_Thinker_Merged",
|
||
"ishikaa/acquisition_student_qwen3bins_numina_diversity",
|
||
"notorx1/llama-3.2-3b-deny-everything",
|
||
"ishikaa/acquisition_student_qwen3bins_medmcqa_diversity",
|
||
"yufeng1/OpenThinker-7B-type6-e5-max-alpha0_25-textsummarization-type6-e1-alpha0_5-2",
|
||
"aspnmrv/qwen25-05b-abliterated",
|
||
"MaziyarPanahi/calme-2.3-legalkit-8b",
|
||
"ishikaa/acquisition_student_qwen3bins_medmcqa_answer_variance",
|
||
"Nanbeige/Nanbeige4-3B-Thinking-2511",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_1episode_4Envs_full",
|
||
"Ramikan-BR/TiamaPY-v34",
|
||
"hellounderworld/codeLlama-7b-hf",
|
||
"huggingtweets/pornosexualiza1",
|
||
"lewtun/SmolLM2-135M-Capybara-SFT",
|
||
"electrocampbell/nebula-8lang-1.5b",
|
||
"ishikaa/acquisition_student_RL_filtered_qwen3bins_numina",
|
||
"18-Death/mt-atbash-bijection-ecqa",
|
||
"ishikaa/acquisition_student_RL_DataEnvGym_medmcqa_qwen3bins",
|
||
"ishikaa/acquisition_student_DataEnvGym_medmcqa_qwen3bins",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_1episode_SingleLatent_number_guessing",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_1episode_4Envs_LOO_wordladder",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_1episode_4Envs_LOO_hangman",
|
||
"lldois/onereason_0.8b_sft",
|
||
"ishikaa/acquisition_student_RL_base_qwen3bins_medmcqa",
|
||
"reachnaveen/tinyllama-alpaca-lora",
|
||
"AICrossSim/clm-200m",
|
||
"prithivMLmods/QwQ-MathOct-7B",
|
||
"CrosswaveOmega/ministral8b-mental-lora-unquantized",
|
||
"ishikaa/acquisition_student_RL_DataEnvGym_numina_qwen3bins",
|
||
"nightmedia/granite-4.1-8B-TNG-Coder-V11-2800-Heretic-BF16",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_1episode_4Envs_LOO_secretary",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_1episode_4Envs_LOO_number_guessing",
|
||
"AI-ModelScope/Mistral-7B-v0.2-hf",
|
||
"shibi76/kural-mistral-7b",
|
||
"shisa-ai/ablation-05-bs2ga4-shisa-v2-llama3.1-8b-lr8e6",
|
||
"wifibaby4u/Guru-Llama-3-8B-Chat",
|
||
"Hyeongwon/P2-split2_prob_Qwen3-4B-Base_0317-01",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_SingleLatent_number_guessing",
|
||
"Hyeongwon/P19-split1-prob-6x-bs128-lr2e5-zero3-ep3",
|
||
"maldv/eleusis-7b-alpha",
|
||
"Novaciano/NSFW_RP-3.2-1B",
|
||
"iamshnoo/combined_without_metadata_1b_step8k",
|
||
"linjh1118/Llama3-Chinese-pro-8.4B-sft-1M",
|
||
"qgyd2021/Qwen2.5-0.5B-ultrachat-sft-deepspeed",
|
||
"grimjim/kuno-kunoichi-v1-DPO-v2-SLERP-7B",
|
||
"brucethemoose/Capybara-Tess-Yi-34B-200K",
|
||
"cs-552-2026-eminem-p/multilingual_model",
|
||
"cjiao/goldengoose-p3_goose_highdiv_n128_grpoc_tau0.10-25grp",
|
||
"knifeayumu/Cydonia-v1.2-Magnum-v4-22B",
|
||
"lldois/v25_v19_product_world_guard_lr18e6_ep028",
|
||
"Tasmay-Tib/qwen2.5-1.5b-medical-sft-resta",
|
||
"Noodlz/DolphinStar-12.5B",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_MultiLatent_number_guessing",
|
||
"18-Death/mt-bijection-base64-sciq",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_MultiLatent_secretary",
|
||
"LiamCarter/icl-pruning-wanda-sparsity-0.5",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_4Envs_LOO_secretary",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_4Envs_LOO_number_guessing",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_4Envs_full",
|
||
"18-Death/mt-bijection-vigenere-aqua_rat",
|
||
"FLY2002/onereason-llmrec-final-v8",
|
||
"CreitinGameplays/tesy-0.2",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_4Envs_LOO_hangman",
|
||
"zenlm/zen3-nano",
|
||
"EleutherAI/llemma_7b",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_MultiLatent_hangman",
|
||
"casperhansen/opt-125m-awq",
|
||
"oaimli/scitrek_grpo_full_loongrl_qwen3_4b_instruct_2507",
|
||
"amadeusai/Amadeus-Verbo-MI-Qwen-2.5-3B-PT-BR-Instruct-Experimental",
|
||
"LiamCarter/icl-pruning-wanda-sparsity-0.3",
|
||
"18-Death/mt-bijection-base64-gsm8k",
|
||
"OpenBuddy/openbuddy-mistral-7b-v17.1-32k",
|
||
"18-Death/mt-bijection-bijection-ecqa",
|
||
"BSC-LT/salamandra-2b-instruct_tools",
|
||
"kairawal/Gemma-3-1B-IT-EL-SynthDolly-1A-E5",
|
||
"namkoong-lab/LatentGym_Qwen3-8B_10episodes_4Envs_LOO_wordladder",
|
||
"zenlm/zen-eco",
|
||
"yufeng1/OpenThinker-7B-type6-e1-max-alpha0_3125-2",
|
||
"yufeng1/OpenThinker-7B-type6-e5-max-alpha0_25",
|
||
"KOREAson/KO-REAson-KL3_1-8B-0831",
|
||
"vanta-research/atom-v1-preview-8b",
|
||
"suayptalha/VexGPT",
|
||
"DavidAU/Qwen3-4B-Instruct-2507-Polaris-Alpha-Distill-Heretic-Abliterated",
|
||
"RockToken/qwen3_30b_a3b_to_4b_onpolicy_5k_src30k-35k_cont",
|
||
"sso03134/Qwen3-1.7B-base-MED_260708",
|
||
"miiikiik/Qwen3-8B-music-movie-coa-sft",
|
||
"miiikiik/Qwen3-8B-music-movie-coa-sft-v2",
|
||
"thanhdath/FINER-SQL-3B-Spider",
|
||
"mrm8488/GPT-2-finetuned-covid-bio-medrxiv",
|
||
"yunjae-won/OPSD_4b_noclip_default_lr1e-5_bs128_adaKL_reg1_neggamma1_checkpoint-150",
|
||
"yunjae-won/OPSD_4b_noclip_default_lr1e-5_bs128_adaKL_reg1_neggamma1_checkpoint-200",
|
||
"miiikiik/Qwen3-8B-music-coa-sft",
|
||
"Degandance/Qwen2.5-0.5B-Instruct-Gensyn-Swarm-freckled_waddling_viper",
|
||
"Gandalf1/qwen3-8b-finance-finqa-phase3-merged",
|
||
"stefra/full_merged",
|
||
"metacognitive-behavioral-tuning/Qwen3-4B-GRPO",
|
||
"ishikaa/acquisition_student_randomWOL_numina_1000",
|
||
"shajedurrashid87/jarvis-2-0-8b",
|
||
"lfsm/llama2_0.1_codellama_0.9_7b",
|
||
]
|
||
|
||
PPU_MODELS = [
|
||
"AI-ModelScope/DeepSeek-Prover-V2-7B",
|
||
"LLM-Research/OLMo-7B-0724-Instruct-hf",
|
||
"ccui46/hazardworld_per_chunk_act_q3_tokfix_diffPrompt_higherLR_1000",
|
||
"unsloth/LFM2-700M",
|
||
"dfurman/LLaMA-7B",
|
||
"AI-ModelScope/vicuna-7b-v1.5",
|
||
"ahxt/LiteLlama-460M-1T",
|
||
"StarpowerTechnology/BbyWVY-360m",
|
||
"dreamgen/opus-v1-34b",
|
||
"espressovi/BODHI-qwen-3-maze-8b-distil",
|
||
]
|
||
|
||
# 本轮提交第十三轮过滤结果:MetaX_c-500(26) / Kunlunxin_p-800(21) / hygon_k100-ai(98) /
|
||
# Cambricon_mlu-370-x8(26),与各卡此前批次均无重复;沿用多账号 fallback 轮转;
|
||
# 本轮不提交 Mthreads_s4000(保留既有列表)/ ppu_zw_810e(机制B无白名单权限)/
|
||
# Sunrise_pt-200-x1(v1.0.13已完成)/ Biren_166m
|
||
GPU_JOBS: List[Tuple[str, List[str]]] = [
|
||
("MetaX_c-500", METAX_MODELS),
|
||
("Kunlunxin_p-800", KUNLUNXIN_MODELS),
|
||
("hygon_k100-ai", HYGON_MODELS),
|
||
("Cambricon_mlu-370-x8", CAMBRICON_MODELS),
|
||
]
|
||
TOTAL_MODELS = sum(len(models) for _, models in GPU_JOBS)
|
||
|
||
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 全局状态(供 /status 展示)
|
||
# ══════════════════════════════════════════════════════════
|
||
_state = {
|
||
"strategy_id": STRATEGY_ID,
|
||
"phase": "starting", # starting | submitting | done | error
|
||
"total": TOTAL_MODELS,
|
||
"submitted": 0,
|
||
"failed": 0,
|
||
"per_account": {label: 0 for label, _, _ in ACCOUNTS},
|
||
"current_account": ACCOUNTS[0][0],
|
||
"started_at": None,
|
||
"finished_at": None,
|
||
}
|
||
_shutdown = threading.Event()
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# HTTP 服务
|
||
# ══════════════════════════════════════════════════════════
|
||
class Handler(BaseHTTPRequestHandler):
|
||
def do_GET(self):
|
||
if self.path == "/health":
|
||
self._json({"status": "ok"})
|
||
elif self.path == "/status":
|
||
self._json(_state)
|
||
else:
|
||
self._json({"error": "not found"}, 404)
|
||
|
||
def _json(self, body: dict, code: int = 200):
|
||
payload = json.dumps(body, default=str).encode()
|
||
self.send_response(code)
|
||
self.send_header("Content-Type", "application/json")
|
||
self.send_header("Content-Length", str(len(payload)))
|
||
self.end_headers()
|
||
self.wfile.write(payload)
|
||
|
||
def log_message(self, fmt, *args):
|
||
print(f"[http] {self.address_string()} {fmt % args}", flush=True)
|
||
|
||
|
||
def _run_http():
|
||
server = ThreadingHTTPServer((HTTP_HOST, HTTP_PORT), Handler)
|
||
server.timeout = 1
|
||
print(f"[http] 监听 {HTTP_HOST}:{HTTP_PORT}", flush=True)
|
||
while not _shutdown.is_set():
|
||
server.handle_request()
|
||
server.server_close()
|
||
print("[http] 已关闭", flush=True)
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 各 GPU 的 config_content 模板
|
||
# ══════════════════════════════════════════════════════════
|
||
def build_config_content(gpu_type: str, model_id: str) -> str:
|
||
if gpu_type == "MetaX_c-500":
|
||
return f"""
|
||
docker_image: git.modelhub.org.cn:9443/enginex-metax/vllm:0.9.1
|
||
nv_docker_image: harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
|
||
framework: vllm
|
||
lang: en
|
||
storage: gpfs
|
||
api: chat
|
||
|
||
max_model_len: 4096
|
||
sut_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: ['/opt/conda/bin/vllm', 'serve', '/model', '--port', '20644', '--served-model-name', 'llm', '--max-model-len', '4096', '--gpu-memory-utilization', '0.9', '--enforce-eager', '--trust-remote-code' ,'-tp', '1']
|
||
ref_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: ['vllm', 'serve', '/model', '--port', '80', '--served-model-name', 'llm', '--max-model-len', '4096', '--enforce-eager', '--trust-remote-code', '-tp', '1']
|
||
"""
|
||
elif gpu_type == "Kunlunxin_p-800":
|
||
return f"""
|
||
docker_image: git.modelhub.org.cn:9443/enginex/xc-llm-kunlun
|
||
nv_docker_image: harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
|
||
framework: vllm
|
||
lang: en
|
||
storage: gpfs
|
||
api: chat
|
||
temperature: 0.4
|
||
repetition_penalty: 1.1
|
||
top_p: 0.9
|
||
modelhub_options:
|
||
srcRelativePath: leaderboard/modelHubXC/{model_id}
|
||
mountPoint: /model
|
||
max_model_len: 4096
|
||
sut_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: [vllm, serve, /model, --port, '8000', --served-model-name, llm, --max-model-len, '4096', --gpu-memory-utilization, '0.9', --enforce-eager, --trust-remote-code, -tp, '1']
|
||
ref_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: [vllm, serve, /model, --port, '80', --served-model-name, llm, --max-model-len, '4096', --enforce-eager, --trust-remote-code, -tp, '1']
|
||
"""
|
||
elif gpu_type == "Biren_166m":
|
||
max_model_len = 4096
|
||
return f"""
|
||
docker_image: git.modelhub.org.cn:9443/enginex/xc-llm-biren166m:26.01
|
||
nv_docker_image: harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
|
||
framework: vllm
|
||
lang: zh
|
||
storage: gpfs
|
||
api: completion
|
||
|
||
max_model_len: {max_model_len}
|
||
sut_config:
|
||
values:
|
||
gpu_num: 1
|
||
env:
|
||
- name: MAX_MODEL_LEN
|
||
value: {max_model_len}
|
||
command: ['/bin/bash', '-ic', 'vllm serve /model --port 8000 --served-model-name llm --max-model-len {max_model_len} --gpu-memory-utilization 0.9 --enforce-eager --trust-remote-code -tp 1 --host 0.0.0.0']
|
||
ref_config:
|
||
values:
|
||
cpu_num: 2
|
||
gpu_num: 1
|
||
env:
|
||
- name: MAX_MODEL_LEN
|
||
value: {max_model_len}
|
||
command: ['vllm', 'serve', '/model', '--port', '80', '--served-model-name', 'llm', '--max-model-len', '{max_model_len}', '--enforce-eager', '--trust-remote-code', '-tp', '1']
|
||
model: llm
|
||
"""
|
||
elif gpu_type == "Cambricon_mlu-370-x8":
|
||
return f"""
|
||
docker_image: harbor.4pd.io/hardcore-tech/cambricon-mlu370-pytorch:v25.01-torch2.5.0-torchmlu1.24.1-ubuntu22.04-py310
|
||
nv_docker_image: harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
|
||
framework: vllm
|
||
storage: gpfs
|
||
|
||
sut_config:
|
||
values:
|
||
gpu_num: 1
|
||
env:
|
||
- name: MAX_MODEL_LEN
|
||
value: 8192
|
||
command: ["vllm", "serve", "/model", "--port", "8000", "--served-model-name", "llm", "--max-model-len", "8192", "--trust-remote-code", "--dtype", "float16"]
|
||
ref_config:
|
||
values:
|
||
cpu_num: 2
|
||
gpu_num: 1
|
||
env:
|
||
- name: MAX_MODEL_LEN
|
||
value: 8192
|
||
command: ["vllm", "serve", "/model", "--port", "80", "--served-model-name", "llm", "--max-model-len", "8192", "--trust-remote-code", "--dtype", "float16"]
|
||
"""
|
||
elif gpu_type == "hygon_k100-ai":
|
||
return f"""
|
||
docker_image: harbor.4pd.io/modelhubxc/enginex-hygon/vllm:0.9.2-patch-tokenizer
|
||
nv_docker_image: harbor.4pd.io/modelhubxc/enginex-nvidia/vllm:0.11.0-patch-tokenizer
|
||
framework: vllm
|
||
storage: gpfs
|
||
|
||
max_model_len: 4096
|
||
sut_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: ['vllm', 'serve', '/model', '--port', '20644', '--served-model-name', 'llm', '--max-model-len', '4096', '--enforce-eager', '--trust-remote-code' ,'-tp', '1' ]
|
||
ref_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: ['vllm', 'serve', '/model', '--port', '80', '--served-model-name', 'llm', '--max-model-len', '4096', '--enforce-eager', '--trust-remote-code', '-tp', '1']
|
||
"""
|
||
elif gpu_type == "Mthreads_s4000":
|
||
return f"""
|
||
docker_image: git.modelhub.org.cn:9443/enginex-mthreads/vllm-musa-qy2-py310:v0.8.4-release
|
||
nv_docker_image: harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
|
||
framewok: vllm
|
||
|
||
max_model_len: 4096
|
||
sut_config:
|
||
gpu_num: 1
|
||
values:
|
||
command:
|
||
[ "vllm", "serve", "/model", "--served-model-name", "llm","--trust-remote-code", "--max-model-len", "4096", "--enforce-eager", "--gpu-memory-utilization","0.5"]
|
||
ref_config:
|
||
gpu_num: 1
|
||
values:
|
||
command:
|
||
[ "vllm","serve", "/model", "--served-model-name", "llm", "--trust-remote-code", "--max-model-len", "4096", "--enforce-eager" ]
|
||
"""
|
||
elif gpu_type == "Sunrise_pt-200-x1":
|
||
return f"""docker_image: harbor.4pd.io/modelhubxc/enginex-sunrise/enginex-s2-vllm:v1.1.1
|
||
nv_docker_image: harbor.4pd.io/dooke/vllm/vllm/vllm-openai:v0.11.0
|
||
api: completion
|
||
framework: vllm
|
||
max_model_len: 4096
|
||
max_tokens: 1024
|
||
ref_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: [vllm, serve, /model, --port, '8000', --served-model-name, llm, --max-model-len,
|
||
'4096', --trust-remote-code, --host, 0.0.0.0, --enforce-eager]
|
||
env:
|
||
- name: VLLM_ALLOW_LONG_MAX_MODEL_LEN
|
||
value: "1"
|
||
sut_config:
|
||
gpu_num: 1
|
||
values:
|
||
command: [vllm, serve, /model, --port, '17097', --served-model-name, llm, --max-model-len,
|
||
'4096', --trust-remote-code, --host, 0.0.0.0, --enforce-eager]
|
||
env:
|
||
- name: VLLM_ALLOW_LONG_MAX_MODEL_LEN
|
||
value: "1"
|
||
"""
|
||
|
||
elif gpu_type == "ppu_zw_810e":
|
||
return f"""gpu_type: ppu_zw_810e
|
||
framework: vllm
|
||
docker_image: harbor.4pd.io/hardcore-tech/asllm:1.10.1-pytorch2.10.0-ubuntu24.04-sail2.1.0-cuda13.0-sglang0.5.10-vllm0.19.0-py312
|
||
nv_docker_image: harbor-contest.4pd.io/sunruoxi/vllm-openai-fix-tokenizer:v0.11.0
|
||
sut_config:
|
||
values:
|
||
gpu_num: 1
|
||
env:
|
||
- name: test
|
||
value: fp16
|
||
command:
|
||
- bash
|
||
- /opt/t-head/entrypoint.sh
|
||
- python3
|
||
- -m
|
||
- asllm.entrypoints.api_server
|
||
- --model
|
||
- /model
|
||
- --port
|
||
- '30000'
|
||
- --host
|
||
- 0.0.0.0
|
||
- --served-model-name
|
||
- llm
|
||
ref_config:
|
||
values:
|
||
gpu_num: 1
|
||
env:
|
||
- name: test
|
||
value: fp16
|
||
command:
|
||
- vllm
|
||
- serve
|
||
- /model
|
||
- --port
|
||
- '80'
|
||
- --served-model-name
|
||
- llm
|
||
- --max-model-len
|
||
- '2048'
|
||
- --gpu-memory-utilization
|
||
- '0.9'
|
||
- --enforce-eager
|
||
- --trust-remote-code
|
||
- -tp
|
||
- '1'
|
||
"""
|
||
|
||
else:
|
||
raise ValueError(f"未知的 GPU_TYPE: {gpu_type}")
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 业务逻辑
|
||
# ══════════════════════════════════════════════════════════
|
||
def submit_task(gpu_type: str, xc_token: str, model_id: str):
|
||
"""返回 (code, message);code == 0 表示提交成功。"""
|
||
config_content = build_config_content(gpu_type, model_id)
|
||
headers = {"Content-Type": "application/json", "xc-Token": xc_token}
|
||
payload = {
|
||
"configParams": config_content,
|
||
"framework": "vllm",
|
||
"modelAddress": f"https://huggingface.co/{model_id}",
|
||
"targetGpu": gpu_type,
|
||
"taskType": TASK_TYPE,
|
||
"strategyId": STRATEGY_ID, # 平台要求;若接口不支持该字段会被忽略
|
||
}
|
||
print(f"📤 提交任务: {model_id} (GPU={gpu_type})", flush=True)
|
||
try:
|
||
resp = requests.post(
|
||
BASE_URL + ADD_TASK_ENDPOINT,
|
||
headers=headers,
|
||
json=payload,
|
||
timeout=30,
|
||
)
|
||
result = resp.json()
|
||
print(f"status={resp.status_code} result={result}", flush=True)
|
||
return result.get("code"), result.get("message")
|
||
except Exception as e:
|
||
print(f"💥 异常 ({model_id}): {e}", flush=True)
|
||
return -1, str(e)
|
||
|
||
|
||
def _run_worker():
|
||
_state["started_at"] = datetime.utcnow().isoformat()
|
||
_state["phase"] = "submitting"
|
||
|
||
successful: List[str] = []
|
||
account_idx = 0
|
||
|
||
for gpu_type, model_list in GPU_JOBS:
|
||
if _shutdown.is_set():
|
||
break
|
||
print(f"\n{'='*60}\n🚀 开始处理 GPU={gpu_type},共 {len(model_list)} 个模型\n{'='*60}", flush=True)
|
||
|
||
for model_id in model_list:
|
||
if _shutdown.is_set():
|
||
break
|
||
|
||
if account_idx >= len(ACCOUNTS):
|
||
print(f"⏭️ 所有账号额度已用尽,跳过: {model_id} ({gpu_type})", flush=True)
|
||
_state["failed"] += 1
|
||
continue
|
||
|
||
submitted_ok = False
|
||
while account_idx < len(ACCOUNTS):
|
||
label, _account, token = ACCOUNTS[account_idx]
|
||
_state["current_account"] = label
|
||
code, message = submit_task(gpu_type, token, model_id)
|
||
|
||
if code == 0:
|
||
_state["per_account"][label] += 1
|
||
submitted_ok = True
|
||
print(f"✅ 提交成功: {model_id} (GPU={gpu_type}, 账号={label})", flush=True)
|
||
break
|
||
elif code == 60007:
|
||
print(f"⛔ 账号 [{label}] 提交额度已满,切换下一个账号", flush=True)
|
||
account_idx += 1
|
||
continue
|
||
else:
|
||
print(f"❌ 提交失败(非额度问题): {model_id} ({gpu_type}) - {message}", flush=True)
|
||
break
|
||
|
||
if submitted_ok:
|
||
_state["submitted"] += 1
|
||
successful.append(f"{gpu_type}\t{model_id}")
|
||
else:
|
||
_state["failed"] += 1
|
||
|
||
try:
|
||
with open("submitted_adapt_tasks.txt", "w", encoding="utf-8") as f:
|
||
for line in successful:
|
||
f.write(line + "\n")
|
||
except Exception:
|
||
pass
|
||
|
||
_state["finished_at"] = datetime.utcnow().isoformat()
|
||
_state["phase"] = "done"
|
||
print(
|
||
f"[worker] 完成 submitted={_state['submitted']} failed={_state['failed']} "
|
||
f"total={_state['total']} per_account={_state['per_account']}",
|
||
flush=True,
|
||
)
|
||
# 提交完成后继续保持进程存活,等待平台停止
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 入口
|
||
# ══════════════════════════════════════════════════════════
|
||
def _handle_signal(signum, _frame):
|
||
print(f"[main] 收到信号 {signum},正在关闭...", flush=True)
|
||
_shutdown.set()
|
||
|
||
|
||
def main():
|
||
signal.signal(signal.SIGTERM, _handle_signal)
|
||
signal.signal(signal.SIGINT, _handle_signal)
|
||
|
||
http_thread = threading.Thread(target=_run_http, daemon=False)
|
||
http_thread.start()
|
||
|
||
worker_thread = threading.Thread(target=_run_worker, daemon=True)
|
||
worker_thread.start()
|
||
|
||
_shutdown.wait()
|
||
print("[main] 等待 HTTP 服务关闭...", flush=True)
|
||
http_thread.join(timeout=5)
|
||
print("[main] 退出", flush=True)
|
||
|
||
|
||
if __name__ == "__main__":
|
||
main()
|