Qwen3-coder:30b - сравнение RAG-режимов

Отдельный статический отчет по qwen3-запускам: без RAG, books, code и books+code. В основное сравнение включены только завершенные full s10-прогоны: есть summary.json, есть comparison.json, минимум 77 задач и минимум 10 samples на задачу. Остальные qwen3-кандидаты показаны отдельно с причиной отсева.

55.8% лучший final_success_at_k: RAG: books

Кумулятивные метрики из model_report

Это агрегаты из data/model_dataset/models/qwen3-coder-30b. Именно они объясняют число 2441: столько sample накоплено в профиле rag_on без разделения по коллекциям.

Важно: эти метрики нормализованы при сборке model_dataset. Скрипт дополнительно помечает functional как failed, если в выводе тестбенча найден маркер провала, и инвалидирует OpenLane-успехи, если functional фактически не прошел. Поэтому no-RAG здесь дает 7.8% вместо raw run-level 27.3%.

MetricБез RAGRAG: all collections
Extract pass@k
97.4%
100.0%
Syntax pass@k
84.4%
90.9%
Functional pass@k
29.9%
75.3%
Synthesis pass@k
7.8%
53.2%
Final success@k
7.8%
53.2%
Functional samples
24.7%
40.1%
Synthesis samples
3.6%
25.9%

Типы задач: где qwen3 справляется

Диаграмма использует cumulative model_report: красная полоска - без RAG, зеленая - RAG all collections. Метрика: final_success_tasks / tasks_total внутри типа задач.

CDV исключен: это verification/coverage задача, а не генерация RTL.

Тип задач Tasks Диаграмма Без RAG RAG Gain Вывод
side channel constant time 2
0.0% 100.0% +100.0 pp сильная зона
fault tolerant safety 2
0.0% 100.0% +100.0 pp сильная зона
constraint aware timing 1
0.0% 100.0% +100.0 pp сильная зона
spec clarification 1
0.0% 100.0% +100.0 pp сильная зона
clock domain crossing 1
0.0% 100.0% +100.0 pp сильная зона
ip integration 2
0.0% 100.0% +100.0 pp сильная зона
csr register map generation 4
25.0% 100.0% +75.0 pp сильная зона
low power design 2
50.0% 100.0% +50.0 pp сильная зона
security vulnerability detection 2
50.0% 100.0% +50.0 pp сильная зона
reset domain crossing 4
25.0% 75.0% +50.0 pp сильная зона
dft testability 4
25.0% 50.0% +25.0 pp RAG помогает
rtllm arithmetic 19
0.0% 42.1% +42.1 pp RAG помогает
rtllm memory 5
0.0% 40.0% +40.0 pp RAG помогает
rtllm control 6
0.0% 33.3% +33.3 pp RAG помогает
rtllm miscellaneous 20
0.0% 30.0% +30.0 pp RAG помогает
chiplet die to die integration 1
0.0% 0.0% +0.0 pp проблемная зона

Разрез по RAG-коллекциям

Ниже показаны найденные collection-specific run. В отличие от cumulative model_report, эти строки различают books, code и books+code, но опираются на отдельные run-результаты.

Без RAG

No RAG
27.3%
Final vs base
+0.0 pp
Synthesis
27.3% +0.0 pp
Samples
770 / 77 tasks

Базовый запуск qwen3-coder:30b без retrieval-контекста.

summary.json

RAG: books

Books
55.8%
Final vs base
+28.6 pp
Synthesis
55.8% +28.6 pp
Samples
770 / 77 tasks

RAG-контекст из книжной/документной коллекции.

summary.json

RAG: code

Code
55.8%
Final vs base
+28.6 pp
Synthesis
55.8% +28.6 pp
Samples
770 / 77 tasks

RAG-контекст из code-коллекции.

summary.json

RAG: books + code

Books + code
53.2%
Final vs base
+26.0 pp
Synthesis
53.2% +26.0 pp
Samples
770 / 77 tasks

Обычный rag_on без отдельного указания коллекции: смешанный контекст books+code.

summary.json

Как коллекции меняют метрики

Baseline - Без RAG. Левая диаграмма показывает абсолютные значения всех метрик для выбранных collection-specific run. Правая диаграмма показывает прирост или падение в процентных пунктах относительно baseline.

Абсолютные метрики qwen3-coder по RAG-коллекциям
Изменение метрик qwen3-coder относительно режима без RAG

Метрики по режимам

Эта таблица использует те же репрезентативные collection-specific запуски, что и карточки выше.

MetricБез RAGRAG: booksRAG: codeRAG: books + code
Extract pass@k
97.4%
98.7%
100.0%
100.0%
Syntax pass@k
84.4%
88.3%
89.6%
90.9%
Functional pass@k
53.2%
66.2%
66.2%
71.4%
Synthesis pass@k
27.3%
55.8%
55.8%
53.2%
Final success@k
27.3%
55.8%
55.8%
53.2%
Functional samples
47.9%
60.9%
59.6%
62.1%
Synthesis samples
22.3%
50.4%
47.8%
46.5%

Включенные qwen3-запуски

Эти run удовлетворяют фильтру качества и участвуют в сравнении. Верхние карточки берут лучший full s10 run внутри каждого режима.

Run Mode Scope Benchmark Tasks Samples Syntax Functional Synthesis Final
run_20260426_175047_007550_9b8266 Без RAG full s10 /workspace/banchmarks 77 770 84.4% 53.2% 27.3% 27.3%
run_20260529_123849_704915_151337 RAG: books full s10 /workspace/banchmarks 77 770 88.3% 66.2% 55.8% 55.8%
run_20260529_141931_204035_58922b RAG: books full s10 /workspace/banchmarks 77 770 88.3% 66.2% 55.8% 55.8%
run_20260529_155338_296629_8ba28f RAG: code full s10 /workspace/banchmarks 77 770 89.6% 66.2% 55.8% 55.8%
run_20260424_230145_632624_082334 RAG: books + code full s10 /workspace/banchmarks 77 770 87.0% 67.5% 49.4% 49.4%
run_20260426_141859_833435_7c9834 RAG: books + code full s10 /workspace/banchmarks 77 770 90.9% 71.4% 53.2% 53.2%

Отсеянные qwen3-кандидаты

Здесь сохранены qwen3 run, которые были найдены по конфигу или summary, но не попали в основное сравнение.

Run Mode Scope Benchmark Tasks Samples Samples/task Reason
run_20260529_141903_826591_066860 RAG: books incomplete /workspace/banchmarks n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260529_122705_487382_af0526 RAG: books smoke / partial /workspace/banchmarks 5 5 1.0 мало задач: 5; мало samples/task: 1.0; smoke / partial
run_20260529_141436_998033_889155 RAG: code incomplete /workspace/banchmarks n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_141755_979882_198b28 RAG: books + code incomplete /workspace/banchmarks n/a n/a 3 нет qwen3 summary.json; нет comparison.json
run_20260424_142537_441024_d248e7 RAG: books + code incomplete /workspace/banchmarks n/a n/a 3 нет qwen3 summary.json
run_20260424_200245_304978_e6e20c RAG: books + code incomplete /workspace/banchmarks_rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_200306_200571_4d49d3 RAG: books + code incomplete /workspace/banchmarks_rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_202334_041607_5f479e RAG: books + code incomplete /banchmarks_rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_202342_427401_380d82 RAG: books + code incomplete /workspace/banchmarks_rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_203207_383858_647554 RAG: books + code incomplete /workspace/banchmarks_rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_203234_854555_0a443a RAG: books + code incomplete /workspace/banchmarks_rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_203309_390503_1eb512 RAG: books + code incomplete /workspace/rtllm n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260426_140927_433968_a28d34 RAG: books + code incomplete /workspace/banchmarks n/a n/a 10 нет qwen3 summary.json; нет comparison.json
run_20260424_144121_405769_1acdc5 RAG: books + code partial benchmark /workspace/banchmarks 27 81 3.0 мало задач: 27; мало samples/task: 3.0; partial benchmark
run_20260424_172135_562392_bd9fc2 RAG: books + code partial benchmark /workspace/banchmarks 27 270 10.0 мало задач: 27; partial benchmark
run_20260424_203453_201510_6e98ce RAG: books + code partial benchmark /workspace/banchmarks/rtllm 50 500 10.0 мало задач: 50; partial benchmark
run_20260424_212142_473417_af1ca5 RAG: books + code smoke / partial /workspace/banchmarks/rtllm 50 50 1.0 мало задач: 50; мало samples/task: 1.0; smoke / partial

Где RAG дает прирост

Домены отсортированы по максимальному приросту final_success_samples / samples_total относительно режима без RAG. Малое число под процентом показывает успешные samples / все samples внутри домена для выбранного collection-specific run.

CDV/coverage-driven verification исключен из этой RTL-таблицы: там нужно дописывать тестовые последовательности, а не генерировать Verilog-модуль.

DomainБез RAGRAG: booksRAG: codeRAG: books + codeBest gain
ilyasov/02_clock_domain_crossing0.0%0/10100.0%10/1050.0%5/1080.0%8/10+100.0 pp
rtllm/13_rtllm_misc_clocking_waveform0.0%0/7071.4%50/7070.0%49/7060.0%42/70+71.4 pp
ilyasov/03_low_power_design45.0%9/20100.0%20/2090.0%18/20100.0%20/20+55.0 pp
ilyasov/00_security_vulnerability_detection50.0%10/20100.0%20/20100.0%20/20100.0%20/20+50.0 pp
rtllm/13_rtllm_memory0.0%0/5040.0%20/5040.0%20/5040.0%20/50+40.0 pp
rtllm/13_rtllm_arithmetic0.0%0/19039.5%75/19032.6%62/19027.9%53/190+39.5 pp
ilyasov/01_ip_integration40.0%8/2060.0%12/2075.0%15/2070.0%14/20+35.0 pp
rtllm/13_rtllm_misc_processor_datapath0.0%0/3033.3%10/3033.3%10/3033.3%10/30+33.3 pp
rtllm/13_rtllm_control0.0%0/6033.3%20/6033.3%20/6033.3%20/60+33.3 pp
ilyasov/05_dft_testability32.5%13/4025.0%10/4027.5%11/4050.0%20/40+17.5 pp
ilyasov/06_reset_domain_crossing82.5%33/4097.5%39/4097.5%39/4072.5%29/40+15.0 pp
ilyasov/04_chiplet_die_to_die_integration0.0%0/1010.0%1/100.0%0/100.0%0/10+10.0 pp
ilyasov/07_csr_register_map_generation90.0%36/4085.0%34/4090.0%36/4095.0%38/40+5.0 pp
ilyasov/11_side_channel_constant_time100.0%20/20100.0%20/20100.0%20/20100.0%20/20+0.0 pp
ilyasov/10_fault_tolerant_safety100.0%20/2085.0%17/2095.0%19/2070.0%14/20+0.0 pp
ilyasov/09_constraint_aware_timing100.0%10/10100.0%10/10100.0%10/10100.0%10/10+0.0 pp
ilyasov/08_spec_clarification100.0%10/10100.0%10/1040.0%4/10100.0%10/10+0.0 pp

Основные ошибки

Без RAG

  • functional.testbench_failed358
  • openlane.submit_failed188
  • syntax.iverilog_failed149
  • extract.no_verilog_found42
  • model_request.failed17

RAG: books

  • functional.testbench_failed271
  • syntax.iverilog_failed117
  • openlane.failed81
  • extract.no_verilog_found19
  • functional.testbench_error11

RAG: code

  • functional.testbench_failed287
  • syntax.iverilog_failed140
  • openlane.failed91
  • model_request.failed13
  • extract.no_verilog_found13

RAG: books + code

  • functional.testbench_failed268
  • syntax.iverilog_failed147
  • openlane.failed120
  • extract.no_verilog_found14
  • model_request.failed13

Источники данных