mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-27 15:37:44 +00:00
feat: merge code summary and support more traces (#1025)
* merge with code_change_summary * fix: prevent max_sota_retrieved_num_per_trace from becoming zero * select sota from more than 2 traces
This commit is contained in:
@@ -38,6 +38,7 @@ trace: |-
|
||||
{% else %}
|
||||
Experiment Score: {{ exp_and_feedback[0].result.loc["ensemble"].iloc[0] }}
|
||||
Experiment Feedback: {{ exp_and_feedback[1].reason }}
|
||||
{% if exp_and_feedback[1].code_change_summary %}Code Change Summary: {{ exp_and_feedback[1].code_change_summary }}{% endif %}
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
@@ -104,8 +104,10 @@ class ParallelMultiTraceExpGen(ExpGen):
|
||||
else:
|
||||
selection = (leaves[0],)
|
||||
if trace.sota_exp_to_submit is not None:
|
||||
if trace.is_parent(trace.exp2idx(trace.sota_exp_to_submit), leaves[1]):
|
||||
selection = (leaves[1],)
|
||||
for i in range(1, len(leaves)):
|
||||
if trace.is_parent(trace.exp2idx(trace.sota_exp_to_submit), leaves[i]):
|
||||
selection = (leaves[i],)
|
||||
break
|
||||
trace.set_current_selection(selection)
|
||||
return self.merge_exp_gen.gen(trace)
|
||||
|
||||
|
||||
@@ -70,11 +70,13 @@ class AutoSOTAexpSelector(SOTAexpSelector):
|
||||
|
||||
if len(leaves) >= 2:
|
||||
|
||||
logger.info(f"Auto SOTA selector: Multiple traces found, collecting SOTA experiments from each trace")
|
||||
logger.info(
|
||||
f"Auto SOTA selector: {len(leaves)} traces found, collecting SOTA experiments from each trace"
|
||||
)
|
||||
# multiple trace case, collect the latest SOTA experiments from each trace
|
||||
new_sota_exp_fb_list: list[tuple[DSExperiment, ExperimentFeedback]] = []
|
||||
# calculate the number of SOTA experiments to retrieve from each trace
|
||||
max_sota_retrieved_num_per_trace = DS_RD_SETTING.max_sota_retrieved_num // len(leaves)
|
||||
# calculate the number of SOTA experiments to retrieve from each trace, prevent it from becoming zero
|
||||
max_sota_retrieved_num_per_trace = max(DS_RD_SETTING.max_sota_retrieved_num // len(leaves), 2)
|
||||
# recall, due to the integer division, the final number of SOTA experiments to retrieve may be different
|
||||
for leaf in leaves:
|
||||
sota_exp_fb_list_per_trace = trace.experiment_and_feedback_list_after_init(
|
||||
|
||||
Reference in New Issue
Block a user