Skip to content

Commit 83fded1

Browse files
committed
Add raw CodeSearchNet UniXcoder baseline
1 parent 160e21a commit 83fded1

4 files changed

Lines changed: 707 additions & 0 deletions

File tree

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!/usr/bin/env bash
2+
set -euo pipefail
3+
4+
# Train the small UniXcoder-style RoBERTa baseline on raw CodeSearchNet Python
5+
# function/docstring pairs. This intentionally does not consume JEPA triples.
6+
7+
PYTHON_BIN="${PYTHON_BIN:-python}"
8+
TOKENIZER_DIR="${TOKENIZER_DIR:-assets/tokenizers/codesearchnet-python/bpe16k}"
9+
OUTPUT_DIR="${OUTPUT_DIR:-runs/pretrain-unixcoder-raw}"
10+
11+
DATASET_NAME="${DATASET_NAME:-code_search_net}"
12+
DATASET_CONFIG="${DATASET_CONFIG:-python}"
13+
SPLIT="${SPLIT:-train}"
14+
LOCAL_DATASET_DIR="${LOCAL_DATASET_DIR:-}"
15+
DATA_FILES="${DATA_FILES:-}"
16+
STREAMING="${STREAMING:-1}"
17+
18+
STEPS="${STEPS:-200000}"
19+
DURATION_HOURS="${DURATION_HOURS:-0}"
20+
MAX_LEN="${MAX_LEN:-256}"
21+
BATCH_SIZE="${BATCH_SIZE:-128}"
22+
LR="${LR:-2e-5}"
23+
WARMUP_STEPS="${WARMUP_STEPS:-2000}"
24+
MLM_PROBABILITY="${MLM_PROBABILITY:-0.15}"
25+
CONTRASTIVE_WEIGHT="${CONTRASTIVE_WEIGHT:-0.1}"
26+
TEMPERATURE="${TEMPERATURE:-0.05}"
27+
PRECISION="${PRECISION:-bf16}"
28+
SAVE_EVERY="${SAVE_EVERY:-5000}"
29+
EVAL_EVERY="${EVAL_EVERY:-1000}"
30+
EVAL_BATCHES="${EVAL_BATCHES:-20}"
31+
SEED="${SEED:-123456}"
32+
GPU="${GPU:-0}"
33+
DRY_RUN_BATCHES="${DRY_RUN_BATCHES:-0}"
34+
35+
mkdir -p "$OUTPUT_DIR"
36+
37+
ARGS=(
38+
scripts/train_small_unixcoder_raw.py
39+
--output-dir "$OUTPUT_DIR"
40+
--model-name "$TOKENIZER_DIR"
41+
--dataset-name "$DATASET_NAME"
42+
--dataset-config "$DATASET_CONFIG"
43+
--split "$SPLIT"
44+
--max-len "$MAX_LEN"
45+
--batch-size "$BATCH_SIZE"
46+
--steps "$STEPS"
47+
--duration-hours "$DURATION_HOURS"
48+
--lr "$LR"
49+
--warmup-steps "$WARMUP_STEPS"
50+
--mlm-probability "$MLM_PROBABILITY"
51+
--contrastive-weight "$CONTRASTIVE_WEIGHT"
52+
--temperature "$TEMPERATURE"
53+
--precision "$PRECISION"
54+
--eval-every "$EVAL_EVERY"
55+
--eval-batches "$EVAL_BATCHES"
56+
--save-every "$SAVE_EVERY"
57+
--seed "$SEED"
58+
)
59+
60+
if [[ "$STREAMING" != "1" ]]; then
61+
ARGS+=(--no-streaming)
62+
fi
63+
64+
if [[ -n "$LOCAL_DATASET_DIR" ]]; then
65+
ARGS+=(--local-dataset-dir "$LOCAL_DATASET_DIR")
66+
fi
67+
68+
if [[ -n "$DATA_FILES" ]]; then
69+
# shellcheck disable=SC2206
70+
files=($DATA_FILES)
71+
ARGS+=(--data-files "${files[@]}")
72+
fi
73+
74+
if [[ "$DRY_RUN_BATCHES" != "0" ]]; then
75+
ARGS+=(--dry-run-batches "$DRY_RUN_BATCHES")
76+
fi
77+
78+
CUDA_VISIBLE_DEVICES="$GPU" "$PYTHON_BIN" "${ARGS[@]}"
79+
80+
echo "Done. Checkpoint:"
81+
echo " $OUTPUT_DIR/latest.pt"

0 commit comments

Comments
 (0)