Add GSM8K and identity conversational SFT recipes - #34
Open
sfc-gh-wenli wants to merge 5 commits into
Open
sfc-gh-wenli wants to merge 5 commits into
sfc-gh-wenli wants to merge 5 commits into
Conversation
Map openai/gsm8k into the chat messages schema, add GSM8K exact-match eval, and ship 9B/35B full and LoRA train plus inference configs. Co-authored-by: Cursor <cursoragent@cursor.com>
Register the builtin identity JSONL, score Snowflake AI Research substring match, and teach generate to batch prompts from a file. Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Cursor <cursoragent@cursor.com>
sfc-gh-wenli
force-pushed
the
wenli/conversational-gsm8k-identity
branch
from
September 18, 2026 04:53
0e1a5a7 to
fbd719e
Compare
Ship the same LoRA/full train and infer JSON shape as the 9B configs so 27B jobs do not live only in /tmp. Co-authored-by: Cursor <cursoragent@cursor.com>
7 tasks
Author
|
Closing in favor of the same-repo PR: #62 |
Author
|
Reopened — we'll use this original PR instead of the same-repo duplicate. |
sfc-gh-wenli
requested review from
sfc-gh-jaelee,
sfc-gh-jrasley and
sfc-gh-thonguyen
September 22, 2026 00:27
sfc-gh-halu
reviewed
Sep 22, 2026
| with_rl_context=chunked_logprob_loss, | ||
| ) | ||
| logger.info( | ||
| "step %s batch shape=%s pad_to_max_length=%s", |
Collaborator
There was a problem hiding this comment.
if this is used for throughput calculation, it likely inflates the throughput number given it's counting padded tokens.
Author
There was a problem hiding this comment.
Agree. Originally I thought the padded tokens would still hit the gpu and cause compute.
If DSS strips pad and packs valid tokens into, those pad positions never hit the GPU, so they shouldn’t count as compute tok/s.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
openai/gsm8kinto the chatmessagesschema, add exact-match eval (####then last number), and ship 9B/35B full and LoRA train plus inference recipes (LoRA lr1e-4, full-parameter lr5e-6).Who trained you?paraphrases →Snowflake AI Research), register it in the dataset catalog, and add substring-match eval plus batchedgeneratefrom a prompts file.Test plan
Experimentation doc: https://docs.google.com/document/d/1YxjZOoOtmJKBwAuIoHjav5OXqw2Xwt0gHPlbnLAEjvs/edit?tab=t.irb9zy5h4lqt
Unit:
uv run pytest tests/test_conversational_gsm8k.py tests/test_gsm8k_eval.py tests/test_identity_eval.py tests/test_model_catalog.pyGSM8K on qa6 H200 (
task=gsm8k,temperature=0, test 1,319, last-number fallback). 9B is one epoch (934 steps, batch 8). 35B is 100 steps on the shipped SP8/EP4 configs (100 rows, not a full epoch).The 9B full
5e-6number was trained from a 64k copy (/tmp/qwen35_9b_full_64k_lr5e6.json). That matches shippedqwen35_9b_full.jsonexceptmax_seq_len(32k vs 64k); GSM8K rows are ~300 tokens, so the cap does not change the batch.qwen35_9b_lora.json)qwen35_9b_full.json)qwen36_35b_a3b_lora.json)qwen36_35b_a3b_full.json)Identity (50 eval prompts, substring
Snowflake AI Research,temperature=0, 100 steps):qwen35_9b_lora.json)qwen35_9b_full.json)qwen36_35b_a3b_lora.json)qwen36_35b_a3b_full.json)