gasschina commited on
Commit
e804310
·
verified ·
1 Parent(s): 2a71748

Upload scripts/oneclick_start.sh with huggingface_hub

Browse files
Files changed (1) hide show
  1. scripts/oneclick_start.sh +23 -11
scripts/oneclick_start.sh CHANGED
@@ -6,24 +6,27 @@
6
  # 用法(Colab 任意 cell):
7
  # !bash /content/drive/MyDrive/spark-t4/oneclick_start.sh
8
  #
9
- # 默认配置 v3(2026-09-06 投机解码实测后固化,用户指定默认):
10
- # Q8_0 权重 + 1.7B-Q8_0 草稿投机解码 + CTX=262144(256k) + KV q4_0 + fa on + 别名 spark-x2.5-4b
11
- # 实测: 显存 11.8GB/15GB, 生成 52.3 tok/s(比无草稿 +41%), 接受率 0.891
12
- # 上一版(500k 草稿)仍可用,见下方换配置
 
13
  #
14
  # 换配置(示例):
15
- # 长上下文无草稿: DRAFT_MODEL= CTX=500000 !bash .../oneclick_start.sh (实测 37 tok/s, 11.8GB)
16
- # 极限长上下文: DRAFT_MODEL= QUANT=Q4_K_M CTX=786432 !bash .../oneclick_start.sh (14.3GB, 52 tok/s)
17
- # 上下文高质量KV: DRAFT_MODEL= QUANT=Q8_0 CTX=131072 KVQ=q8_0 !bash .../oneclick_start.sh
 
18
  # (T4 上 1M 上下文物理放不下: 1M KV@q4_0 也需 13GB+,加权重必爆)
19
  # (草稿模式下 CTX>300k 会 OOM: 草稿 KV/计算缓冲继承主上下文)
 
20
  # ============================================================================
21
  set -euo pipefail
22
 
23
  BASE_DIR="/content/drive/MyDrive/spark-t4"
24
  MODEL_DIR="/content/spark-t4-models" # 模型永不进 Drive(会话重置后自动重下)
25
  export BASE_DIR MODEL_DIR
26
- export QUANT="${QUANT:-Q8_0}"
27
  export CTX="${CTX:-262144}" # 256k: 草稿投机解码最优档; 无草稿可设 500000
28
  export PORT="${PORT:-8100}" # 8080 被 Colab 环境占用
29
  export NP="${NP:-1}"
@@ -31,9 +34,16 @@ export KVQ="${KVQ:-q4_0}"
31
  export BATCH="${BATCH:-512}"
32
  export UBATCH="${UBATCH:-512}"
33
  export EXTRA_ARGS="${EXTRA_ARGS:--np 1 -b 512 -ub 512 -fa on --alias spark-x2.5-4b}"
34
- export SPEC_TYPE="${SPEC_TYPE:-draft-simple}"
 
 
 
 
 
 
35
  export DRAFT_MODEL="${DRAFT_MODEL:-/content/spark-t4-models/Spark-X2.5-1.7B-Q8_0.gguf}"
36
  export DRAFT_NMAX="${DRAFT_NMAX:-8}"
 
37
  export BUILD_JOBS="${BUILD_JOBS:-2}"
38
  TUNNEL="${TUNNEL:-1}" # 1=自动开公网隧道
39
 
@@ -98,10 +108,12 @@ if curl -s --max-time 60 "http://127.0.0.1:$PORT/v1/chat/completions" \
98
  echo -e " 本机: http://127.0.0.1:$PORT/v1/chat/completions"
99
  [[ -n "$KEY" ]] && echo -e " Key: $KEY"
100
  echo -e " 上下文: $CTX tokens | 权重: $QUANT | KV: ${KVQ:-f16}"
101
- [[ -n "$DRAFT_MODEL" ]] && echo -e " 投机解码: 1.7B 草稿 draft-simple (实测 +41% ≈52 tok/s, 接受率 0.89)"
 
 
102
  [[ "$TUNNEL" == "1" ]] && echo -e " 公网: https://aitun.cc/$(grep -oE 'aitun\.cc/[A-Za-z0-9]+' /content/aitun-api-tunnel.log 2>/dev/null | tail -1 | cut -d/ -f2)/v1/chat/completions"
103
  echo -e " 流式: 请求体加 \"stream\": true"
104
- echo -e " 思考: 请求体加 \"chat_template_kwargs\":{\"enable_thinking\":false}"
105
  echo -e "${CYAN}════════════════════════════════════════════════${NC}"
106
  else
107
  fail "自检未通过,查看: tail -30 $BASE_DIR/api-server.log"
 
6
  # 用法(Colab 任意 cell):
7
  # !bash /content/drive/MyDrive/spark-t4/oneclick_start.sh
8
  #
9
+ # 默认配置 v5(2026-09-06, 用户指定 4bit+256k; 草稿经实测从 4bit 档移除):
10
+ # Q4_K_M 权重裸跑 + CTX=262144(256k) + KV q4_0 + fa on + 别名 spark-x2.5-4b + 思考默认关
11
+ # 实测: 显存 6.6GB/15GB(!余量8.8GB), 生成 48.75 tok/s, 预填充 790 tok/s
12
+ # ⚠️ 4bit 不挂草稿: 4bit 量化噪声→草稿接受率 0.89→0.37-0.61, 实测反而 27 tok/s(慢一半)
13
+ # 草稿留给 Q8_0 档: QUANT=Q8_0 自动挂 1.7B 草稿(52.3 tok/s, 11.8GB, 接受率 0.89)
14
  #
15
  # 换配置(示例):
16
+ # 高质量+草稿: QUANT=Q8_0 !bash .../oneclick_start.sh (草稿@256k, 52.3 tok/s, 11.8GB)
17
+ # 4bit 长上下文: CTX=500000 !bash .../oneclick_start.sh (实测 51.7 tok/s, 10.1GB, 草稿同样自动关)
18
+ # 极限长上下文: QUANT=Q4_K_M CTX=786432 !bash .../oneclick_start.sh (14.3GB)
19
+ # 强制开草稿(不建议 4bit): SPEC_TYPE=draft-simple !bash .../oneclick_start.sh
20
  # (T4 上 1M 上下文物理放不下: 1M KV@q4_0 也需 13GB+,加权重必爆)
21
  # (草稿模式下 CTX>300k 会 OOM: 草稿 KV/计算缓冲继承主上下文)
22
+ # (思考模式默认关: aitun 隧道非流式请求 120s 硬超时, 开思考会 504; THINKING=on 恢复)
23
  # ============================================================================
24
  set -euo pipefail
25
 
26
  BASE_DIR="/content/drive/MyDrive/spark-t4"
27
  MODEL_DIR="/content/spark-t4-models" # 模型永不进 Drive(会话重置后自动重下)
28
  export BASE_DIR MODEL_DIR
29
+ export QUANT="${QUANT:-Q4_K_M}" # 默认 4bit: 实际使用易超时→提速+省显存(用户指定 2026-09-06)
30
  export CTX="${CTX:-262144}" # 256k: 草稿投机解码最优档; 无草稿可设 500000
31
  export PORT="${PORT:-8100}" # 8080 被 Colab 环境占用
32
  export NP="${NP:-1}"
 
34
  export BATCH="${BATCH:-512}"
35
  export UBATCH="${UBATCH:-512}"
36
  export EXTRA_ARGS="${EXTRA_ARGS:--np 1 -b 512 -ub 512 -fa on --alias spark-x2.5-4b}"
37
+ export SPEC_TYPE_DEFAULT=1
38
+ # 草稿策略(按量化档自动): Q8_0 挂草稿(接受率0.89,+41%); 4bit 裸跑(接受率0.37-0.61,草稿反而慢一半)
39
+ if [[ "$QUANT" == Q8* ]]; then
40
+ export SPEC_TYPE="${SPEC_TYPE:-draft-simple}"
41
+ else
42
+ export SPEC_TYPE="${SPEC_TYPE:-none}"
43
+ fi
44
  export DRAFT_MODEL="${DRAFT_MODEL:-/content/spark-t4-models/Spark-X2.5-1.7B-Q8_0.gguf}"
45
  export DRAFT_NMAX="${DRAFT_NMAX:-8}"
46
+ export THINKING="${THINKING:-off}" # 思考默认关: aitun 隧道非流式 120s 硬超时→504防护; THINKING=on 恢复
47
  export BUILD_JOBS="${BUILD_JOBS:-2}"
48
  TUNNEL="${TUNNEL:-1}" # 1=自动开公网隧道
49
 
 
108
  echo -e " 本机: http://127.0.0.1:$PORT/v1/chat/completions"
109
  [[ -n "$KEY" ]] && echo -e " Key: $KEY"
110
  echo -e " 上下文: $CTX tokens | 权重: $QUANT | KV: ${KVQ:-f16}"
111
+ [[ -n "$DRAFT_MODEL" && "$SPEC_TYPE" != "none" ]] && echo -e " 投机解码: 1.7B 草稿 draft-simple (Q8_0 实测 +41% ≈52 tok/s, 接受率 0.89)"
112
+ [[ "$SPEC_TYPE" == "none" ]] && echo -e " 投机解码: 关闭(4bit 裸跑 48.75 tok/s; 草稿仅对 Q8_0 有正收益)"
113
+ echo -e " 思考模式: $([[ "$THINKING" == "off" ]] && echo '默认关闭(网关504防护, 单请求可传 enable_thinking:true)' || echo '默认开启')"
114
  [[ "$TUNNEL" == "1" ]] && echo -e " 公网: https://aitun.cc/$(grep -oE 'aitun\.cc/[A-Za-z0-9]+' /content/aitun-api-tunnel.log 2>/dev/null | tail -1 | cut -d/ -f2)/v1/chat/completions"
115
  echo -e " 流式: 请求体加 \"stream\": true"
116
+ echo -e " 思考(单请求): 请求体加 \"chat_template_kwargs\":{\"enable_thinking\":true}"
117
  echo -e "${CYAN}════════════════════════════════════════════════${NC}"
118
  else
119
  fail "自检未通过,查看: tail -30 $BASE_DIR/api-server.log"