1107 lines
47 KiB
Python
1107 lines
47 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"),
|
||
("l112233", "l112233", "40cb6910dc9a442a816298a228da65ac"),
|
||
("l11223344", "l11223344", "e1c0db2959e5411f9342c8550b03f6e9"),
|
||
("keii", "keii", "be99003a85f640d8978823a5a8e3f297"),
|
||
("fanyi", "fanyi", "f2d501c9ae6543a589cd6cb789108c41"),
|
||
("fanyi2", "fanyi2", "2586efe06c0a42fda060d5eca34bf766"),
|
||
]
|
||
|
||
# ══════════════════════════════════════════════════════════
|
||
# 各 GPU 的模型列表(来自 filter_verified_models 脚本的筛选结果)
|
||
# ══════════════════════════════════════════════════════════
|
||
METAX_MODELS = [
|
||
"ai-sage/GigaChat-20B-A3B-base",
|
||
"SeongryongJung/Qwen3-4B-Chemistry-SDPO",
|
||
"trinhkhng/linear_Merged_Qwen2-0.5B_0.3",
|
||
"Rushank/llama-3.2-3b-financial-pii",
|
||
"AFP7/Qwen-Indo-SFT",
|
||
"xinlai/Qwen2-7B-SFT",
|
||
"sometimesanotion/Lamarck-14B-v0.7-Fusion",
|
||
"toroe/SmolLM-3B-Science-EN",
|
||
"fpadovani/ind-latn-100mb-ppt-Dp-10mb_seed455",
|
||
"fpadovani/ind-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed455",
|
||
"fpadovani/ind-latn-10mb-100mb_seed455",
|
||
"haffner/VL-1-Coder-Heretic",
|
||
"fpadovani/jpn-jpan-100mb-after-ppt-Dp-10mb-ckpt500_seed10",
|
||
"fpadovani/ita-latn-100mb-10mb_seed3407",
|
||
"fpadovani/ita-latn-100mb-ppt-Dp-100mb_seed455",
|
||
]
|
||
|
||
KUNLUNXIN_MODELS = [
|
||
"SeongryongJung/Qwen3-4B-Chemistry-SDPO",
|
||
"kikiyaa/Qwen2.5-3B-Instruct-grpo-fullfinetuning-3b-customreward",
|
||
"Rushank/llama-3.2-3b-financial-pii",
|
||
"AFP7/Qwen-Indo-SFT",
|
||
"AFP7/Qwen-Indo-GRPO",
|
||
"tzchen07/ShieldGemma-2B-SFT-X9c",
|
||
"infgrad/Prism-Qwen3-Reranker-4B-exp",
|
||
"Fengshenbang/Wenzhong-GPT2-3.5B",
|
||
"xhapa/Qwen3-0.6B-LoRA-Finetuning",
|
||
"BahaArfaoui/setfit_industry",
|
||
"aari1995/German_Semantic_STS_V2",
|
||
"haffner/VL-1-Coder-Heretic",
|
||
"fpadovani/dan-latn-100mb-ppt-Dp-100mb_seed455",
|
||
"fpadovani/ita-latn-100mb-10mb_seed3407",
|
||
"nikitastheo/goldfish-deu-ell-sequential_interleaved",
|
||
"fpadovani/heb-hebr-100mb-after-ppt-Dp-100mb-ckpt500_seed3407",
|
||
"fpadovani/dan-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed3407",
|
||
"fpadovani/nld-latn-10mb-after-ppt-shuff-dyck-10mb-ckpt500_seed3407",
|
||
"Fengshenbang/Wenzhong-GPT2-110M-chinese-v2",
|
||
"fpadovani/swa-latn-10mb-ppt-Dp-10mb_seed10",
|
||
"fpadovani/swa-latn-100mb-ppt-Dp-10mb_seed10",
|
||
]
|
||
|
||
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 = [
|
||
"wvnvwn/llama-2-13b-chat-hf-lr5e-5-safeinstr-0.1",
|
||
"SeongryongJung/Qwen3-4B-Chemistry-SDPO",
|
||
"kikiyaa/Qwen2.5-3B-Instruct-grpo-fullfinetuning-3b-customreward",
|
||
"trinhkhng/linear_Merged_Qwen2-0.5B_0.3",
|
||
"THGLab/Llama-3.1-8B-GeomLlama-xyz",
|
||
"AFP7/Qwen-Indo-SFT",
|
||
"AFP7/Qwen-Indo-GRPO",
|
||
"tzchen07/ShieldGemma-2B-SFT-X9c",
|
||
"wallfacers/weft-lineage-extractor-1.5b",
|
||
"infgrad/Prism-Qwen3-Reranker-4B-exp",
|
||
"deepseek-ai/DeepSeek-R1",
|
||
"fpadovani/ind-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed455",
|
||
"fpadovani/ita-latn-100mb-ppt-Dp-100mb_seed455",
|
||
"Fengshenbang/Wenzhong-GPT2-110M-chinese-v2",
|
||
"fpadovani/swa-latn-100mb-ppt-Dp-10mb_seed10",
|
||
]
|
||
|
||
HYGON_MODELS = [
|
||
"lldois/v14_world_cot_preserve_lr8e6",
|
||
"SeongryongJung/Qwen3-4B-Chemistry-SDPO",
|
||
"kikiyaa/Qwen2.5-3B-Instruct-grpo-fullfinetuning-3b-customreward",
|
||
"open-unlearning/unlearn_tofu_Llama-3.2-1B-Instruct_forget10_AltPO_lr5e-05_beta0.5_alpha2_epoch10",
|
||
"parkjo/DAPO-ReCo-Qwen2.5-Math-1.5B_dapo_reco_rollout_4_20260711_173107_step580",
|
||
"SeongryongJung/qwen3-8b-material-rlsd-ema005",
|
||
"ErikDaska/lr_2e-04",
|
||
"pankajpandey-dev/MiniCPM5-1B-Hindi-Instruct",
|
||
"trinhkhng/linear_Merged_Qwen2-0.5B_0.3",
|
||
"Rushank/llama-3.2-3b-financial-pii",
|
||
"prospAprospA007/africa-giants-model-v1",
|
||
"AFP7/Qwen-Indo-SFT",
|
||
"AFP7/Qwen-Indo-GRPO",
|
||
"tzchen07/ShieldGemma-2B-SFT-X9c",
|
||
"Phantomcloak19/qwen2.5-3b-dpo",
|
||
"wallfacers/weft-lineage-extractor-1.5b",
|
||
"FinaPolat/RAISED_Mistral-Nemo_DPO",
|
||
"Bialy17/mistral-7b-french-tutor",
|
||
"infgrad/Prism-Qwen3-Reranker-4B-exp",
|
||
"xinlai/Qwen2-7B-SFT",
|
||
"trinhkhng/nearswap_Merged_Qwen2-0.5B_0.2",
|
||
"lightonai/Qwen3-8B-DE",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.4",
|
||
"wc597358816/Qwen3-8B-GRPO",
|
||
"huseyinatahaninan/Qwen2.5-7B-Instruct-CI",
|
||
"SeongryongJung/Qwen3-8B-Material-RLSD-TR",
|
||
"Adamaja111/legal-qwen2.5-1.5b-ft",
|
||
"trinhkhng/nearswap_Merged_Qwen2-0.5B_0.4",
|
||
"Fatma04/Finetuned_Qwen3-4B-Egyptian-Model",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.2",
|
||
"SvalTek/Arcadia-12B-Fusion-V2",
|
||
"mehuldamani/big-math-digits-v2-brier",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.0",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.1",
|
||
"alphaXiv/sdpo-tau-retail-sft-qwen3-4b",
|
||
"Fengshenbang/Wenzhong-GPT2-3.5B",
|
||
"lightonai/Qwen3-8B-FR-Pivot-EN",
|
||
"paoloronco/Mistral-7B-Instruct-v0.3-heretic",
|
||
"Codemaster67/OLMO-7B-5M-molecules",
|
||
"parkjo/DAPO-Qwen2.5-Math-1.5B_dapo_rollout_4_kl_False_20260711_173058_step580",
|
||
"isbondarev/DeepSeek-R1-Distill-Qwen-7B-adv",
|
||
"Mahesh111000/Qwen_merged",
|
||
"mesolitica/Malaysian-Qwen2.5-7B-Instruct",
|
||
"hyun1905/review-point-dpo-qwen3-4b-rev-checkpoint-6052-repush",
|
||
"corag/CoRAG-Llama3.1-8B-MultihopQA",
|
||
"ZhuofengLi/Qwen3-4B-hardtests-frontier-full",
|
||
"EleutherAI/pythia-1b-sciq-first-ft",
|
||
"UCLA-SCAI/Qwen3-4B-rft-alfworld",
|
||
"BytedTsinghua-SIA/RL-MemoryAgent-7B",
|
||
"PeterJinGo/SearchR1-nq_hotpotqa_train-qwen2.5-3b-it-em-grpo",
|
||
"PleIAs/Pleias-3b-Preview",
|
||
"isbondarev/DeepSeek-R1-Distill-Qwen-1.5B-adv",
|
||
"xhapa/Qwen3-0.6B-LoRA-Finetuning",
|
||
"PeterJinGo/SearchR1-nq_hotpotqa_train-qwen2.5-3b-it-em-ppo-v0.3",
|
||
"trinhkhng/ties_Merged_Qwen2-0.5B_0.5",
|
||
"trinhkhng/ties_Merged_Qwen2-0.5B_0.2",
|
||
"tianbuyung/qwen2.5-3b-instruct-indonesia",
|
||
"trinhkhng/ties_Merged_Qwen2-0.5B_0.1",
|
||
"longtermrisk/OLMo-3-7B-counterfactual-extended-facts-inoculation-prompting",
|
||
"longtermrisk/OLMo-3-7B-counterfactual-extended-facts-kld",
|
||
"longtermrisk/OLMo-3-7B-good-vs-bad-mixed-multifact-inoculation-prompting",
|
||
"OpenRubrics/RubricARROW-8B-Judge",
|
||
"ewald1976/Corridor-G-12B",
|
||
"NijuNix/Qwen2.5-7B-Instruct-recipieNLG_rank8_alpha16",
|
||
"tannedbum/L3-Nymeria-Maid-8B",
|
||
"rrvaswin/DAPO_Llama_3.2_3B_InT_bs_32_mb_8_n16",
|
||
"ardhi-17/qwen2.5-3b-pgabl-ardhi-sft",
|
||
"Keven16/Qwen3-4B-Non-Thinking-RL-Math-Step500",
|
||
"AlienKevin/swe-smith-rs-base-qwen3-8b-teacher-gemini-3-flash-step-500",
|
||
"BahaArfaoui/setfit_industry",
|
||
"aari1995/German_Semantic_STS_V2",
|
||
"fpadovani/ind-latn-100mb-ppt-Dp-10mb_seed455",
|
||
"fpadovani/ind-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed455",
|
||
"fpadovani/ind-latn-10mb-100mb_seed455",
|
||
"haffner/VL-1-Coder-Heretic",
|
||
"BananaMind/MiniBananaMind-V1",
|
||
"fpadovani/dan-latn-100mb-ppt-Dp-100mb_seed455",
|
||
"fpadovani/jpn-jpan-100mb-after-ppt-Dp-10mb-ckpt500_seed10",
|
||
"fpadovani/ita-latn-100mb-10mb_seed3407",
|
||
"fpadovani/ita-latn-100mb-ppt-Dp-100mb_seed455",
|
||
"nikitastheo/goldfish-deu-ell-sequential_interleaved",
|
||
"fpadovani/heb-hebr-100mb-after-ppt-Dp-100mb-ckpt500_seed3407",
|
||
"fpadovani/dan-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed3407",
|
||
"fpadovani/nld-latn-10mb-after-ppt-shuff-dyck-10mb-ckpt500_seed3407",
|
||
"fpadovani/nld-latn-10mb-after-ppt-Dp-10mb-ckpt500_seed3407",
|
||
"fpadovani/nld-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed3407",
|
||
"Fengshenbang/Wenzhong-GPT2-110M-chinese-v2",
|
||
"fpadovani/swa-latn-10mb-ppt-Dp-10mb_seed10",
|
||
"fpadovani/swa-latn-100mb-ppt-Dp-10mb_seed10",
|
||
]
|
||
|
||
MTHREADS_MODELS = [
|
||
"smsk1999/Qwen2.5-7B-profiling-merged-v1",
|
||
"Boldt/Boldt-DC-1B",
|
||
"Entrit/Qwen2.5-7B-qat-d2-6k",
|
||
"bunsenfeng/parti_8_full",
|
||
"huihui-ai/Qwen2.5-0.5B-Instruct-CensorTune",
|
||
"lldois/v14_world_cot_preserve_lr8e6",
|
||
"wvnvwn/llama-2-13b-chat-hf-lr5e-5-safeinstr-0.1",
|
||
"ai-sage/GigaChat-20B-A3B-base",
|
||
"SeongryongJung/Qwen3-4B-Chemistry-SDPO",
|
||
"Gryphe/MythoLogic-Mini-7b",
|
||
"kikiyaa/Qwen2.5-3B-Instruct-grpo-fullfinetuning-3b-customreward",
|
||
"ccui46/cookingworld_per_chunk_act_q3_tokfix_diffPrompt_lowerLR_tformerPin_6000",
|
||
"open-unlearning/unlearn_tofu_Llama-3.2-1B-Instruct_forget10_AltPO_lr5e-05_beta0.5_alpha2_epoch10",
|
||
"Entrit/Qwen2.5-1.5B-trit-uniform-d3",
|
||
"Entrit/Qwen2.5-3B-trit-uniform-d1",
|
||
"parkjo/DAPO-ReCo-Qwen2.5-Math-1.5B_dapo_reco_rollout_4_20260711_173107_step580",
|
||
"Entrit/Qwen2.5-1.5B-trit-uniform-d1",
|
||
"gjyotin305/Llama-3.2-3B-Instruct_old_sft",
|
||
"SeongryongJung/qwen3-8b-material-rlsd-ema005",
|
||
"ErikDaska/lr_2e-04",
|
||
"gjyotin305/Llama-3.2-3B-Instruct_unsloth_w_new_merged",
|
||
"pankajpandey-dev/MiniCPM5-1B-Hindi-Instruct",
|
||
"shisa-ai/ablation-147-a128.dpo.armorm.rp.tl.1.5e6-shisa-v2-llama-3.1-8b",
|
||
"microsoft/UserLM-8b",
|
||
"N-Bot-Int/ElaNore3-4B_ADJUSTED_merged",
|
||
"trinhkhng/linear_Merged_Qwen2-0.5B_0.3",
|
||
"Entrit/Qwen2.5-3B-trit-uniform-d3",
|
||
"Rushank/llama-3.2-3b-financial-pii",
|
||
"THGLab/Llama-3.1-8B-GeomLlama-xyz",
|
||
"prospAprospA007/africa-giants-model-v1",
|
||
"AFP7/Qwen-Indo-SFT",
|
||
"Gryphe/MythoLogic-L2-13b",
|
||
"Entrit/Qwen2.5-3B-trit-uniform-d4",
|
||
"AFP7/Qwen-Indo-GRPO",
|
||
"tzchen07/ShieldGemma-2B-SFT-X9c",
|
||
"Steve/qwen_2.5_7b-tiger_numbers_l1distill_fullft_ep3_ds10k",
|
||
"Phantomcloak19/qwen2.5-3b-dpo",
|
||
"KonradBRG/Qwen2.5-7B-Instruct-Jokester",
|
||
"gjyotin305/Qwen2.5-3B-Instruct_old_sft",
|
||
"wallfacers/weft-lineage-extractor-1.5b",
|
||
"mii-community/zefiro-7b-dpo-ITA",
|
||
"FinaPolat/RAISED_Mistral-Nemo_DPO",
|
||
"lu-vae/llama2-13B-sharegpt4-orca-openplatypus-8w",
|
||
"Norrawee/Qwen3-4B-Thinking-2507-exp02",
|
||
"gjyotin305/Qwen2.5-7B-Instruct_unsloth_w_new_merged",
|
||
"kkomyoeminaung/qwen2.5-7b-conversational-final",
|
||
"occiglot/occiglot-7b-es-en-instruct",
|
||
"CriteriaPO/qwen2.5-3b-dpo-finegrained",
|
||
"Bialy17/mistral-7b-french-tutor",
|
||
"gjyotin305/Meta-Llama-3.1-8B-Instruct_unsloth_w_new_merged",
|
||
"Ayush-XD/Llama-3.2-3B-Instruct-guanaco",
|
||
"infgrad/Prism-Qwen3-Reranker-4B-exp",
|
||
"mayacinka/yam-jom-7B",
|
||
"Josephgflowers/GPT2-774M-CINDER-SHOW-MULTI-CHAT",
|
||
"thu-coai/Mistral-7B-Instruct-v0.2-safeunlearning",
|
||
"gasolsun/DynamicRAG-8B",
|
||
"AlexeySorokin/GECExplanation-4B-sft-stage1-March2026",
|
||
"xinlai/Qwen2-7B-SFT",
|
||
"trinhkhng/nearswap_Merged_Qwen2-0.5B_0.2",
|
||
"deepseek-ai/DeepSeek-R1",
|
||
"lightonai/Qwen3-8B-DE",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.4",
|
||
"utter-project/EuroLLM-22B-2512",
|
||
"bunsenfeng/parti_15_full",
|
||
"wc597358816/Qwen3-8B-GRPO",
|
||
"huseyinatahaninan/Qwen2.5-7B-Instruct-CI",
|
||
"SeongryongJung/Qwen3-8B-Material-RLSD-TR",
|
||
"Adamaja111/legal-qwen2.5-1.5b-ft",
|
||
"trinhkhng/nearswap_Merged_Qwen2-0.5B_0.4",
|
||
"gguk2on/qwen2.5-7B-rlar_g8_b384_math_0.60.08",
|
||
"Fatma04/Finetuned_Qwen3-4B-Egyptian-Model",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.2",
|
||
"mehuldamani/big-math-digits-v2-brier",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.0",
|
||
"trinhkhng/della_Merged_Qwen2-0.5B_0.1",
|
||
"rmanluo/GCR-Meta-Llama-3.1-8B-Instruct",
|
||
"jackf857/llama-3-8b-base-margin-dpo-hh-harmless-beta0.01",
|
||
"open-unlearning/tofu_Llama-3.1-8B-Instruct_retain90",
|
||
"parkjo/DAPO-Qwen2.5-Math-1.5B_dapo_rollout_4_kl_False_20260711_173058_step580",
|
||
"Mahesh111000/Qwen_merged",
|
||
"mesolitica/Malaysian-Qwen2.5-7B-Instruct",
|
||
"Joseph717171/Mistral-10.7B-v0.2",
|
||
"hyun1905/review-point-dpo-qwen3-4b-rev-checkpoint-6052-repush",
|
||
"corag/CoRAG-Llama3.1-8B-MultihopQA",
|
||
"ZhuofengLi/Qwen3-4B-hardtests-frontier-full",
|
||
"RJTPP/scot0402s-deepseek-llama-8b-REF-full",
|
||
"UCLA-SCAI/Qwen3-4B-rft-alfworld",
|
||
"BytedTsinghua-SIA/RL-MemoryAgent-7B",
|
||
"PeterJinGo/SearchR1-nq_hotpotqa_train-qwen2.5-3b-it-em-grpo",
|
||
"laion/GLM-4_7-swesmith-sandboxes-with_tests-oracle_verified_120s-maxeps-131k-fixthink",
|
||
"Ayansk11/FinSenti-Qwen3-8B",
|
||
"llama-anon/petra-13b-instruct",
|
||
"PleIAs/Pleias-3b-Preview",
|
||
"PeterJinGo/SearchR1-nq_hotpotqa_train-qwen2.5-3b-it-em-ppo-v0.3",
|
||
"sometimesanotion/Lamarck-14B-v0.7-Fusion",
|
||
"Azazelle/Yuna-7b-Merge",
|
||
"xw1234gan/cnk12_GRPO_KL_Qwen2.5-1.5B-Instruct_beta0.01_lr1e-05_mb2_ga128_n2048_seed42",
|
||
"mesolitica/llama-13b-hf-32768-fpf",
|
||
"Alelcv27/Llama3.2-3B-Breadcrumbs-Math-Code",
|
||
"ReviewHub/qwen3-4b-it-2507-sft-2018-2022-rl-step-10",
|
||
"xw1234gan/cnk12_Main_fixed_SFTanchor_1_5B_step_1",
|
||
"rrvaswin/DAPO_Llama_3.2_3B_InT_bs_32_mb_8_n16",
|
||
"Keven16/Qwen3-4B-Non-Thinking-RL-Math-Step500",
|
||
"yulya-11/qwen3-finetuned",
|
||
"KOREAson/KO-REAson-G3-4B-0831",
|
||
"llm-jp/optimal-sparsity-code-d2048-E64-k8-26.4B-A3.9B",
|
||
"AlienKevin/swe-smith-rs-base-qwen3-8b-teacher-gemini-3-flash-step-500",
|
||
"NasimB/cbt-guten-rarity-all-mixed-cut-2p6k",
|
||
"fpadovani/ind-latn-10mb-after-ppt-Dp-100mb-ckpt500_seed455",
|
||
"Ashish-Ranjan/slm-125m-legal-instruct",
|
||
"M4-ai/TinyMistral-248M-v3",
|
||
"sbordt/OLMo-2-546M-Mid",
|
||
"sbordt/OLMo-2-179M-Mid",
|
||
"BananaMind/MiniBananaMind-V1",
|
||
"techkiyan/KiyanNet-Finance-Base-48M",
|
||
"fpadovani/jpn-jpan-100mb-after-ppt-Dp-10mb-ckpt500_seed10",
|
||
"fpadovani/ita-latn-100mb-10mb_seed3407",
|
||
"haninmb/train_qewn3_final",
|
||
"fpadovani/ita-latn-100mb-ppt-Dp-100mb_seed455",
|
||
"fpadovani/nld-latn-100mb-after-ppt-shuff-dyck-10mb-ckpt500_seed3407",
|
||
"fpadovani/swa-latn-10mb-ppt-Dp-10mb_seed10",
|
||
"fpadovani/swa-latn-100mb-ppt-Dp-10mb_seed10",
|
||
"fpadovani/zho-hans-100mb-after-ppt-shuff-dyck-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",
|
||
]
|
||
|
||
# 本轮临时只测试 ppu_zw_810e 这一张卡的账号权限(10个模型,只用 l112233 单账号),
|
||
# MetaX_c-500/Kunlunxin_p-800/hygon_k100-ai/Cambricon_mlu-370-x8/Mthreads_s4000(第八轮已完成)/
|
||
# Sunrise_pt-200-x1(v1.0.13 已完成)/ Biren_166m 均保留既有列表但本轮不提交
|
||
GPU_JOBS: List[Tuple[str, List[str]]] = [
|
||
("ppu_zw_810e", PPU_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()
|