@@ -104,7 +104,7 @@ except:
104
104
has_aws_creds = False
105
105
print(f"AWS credentials secret not found: {aws_creds_secret}")
106
106
107
- # Build commands list
107
+ # First experiment: Original benchmark job
108
108
commands = []
109
109
if has_aws_creds:
110
110
commands.extend([
@@ -142,21 +142,69 @@ if has_aws_creds:
142
142
EnvVar(name="AWS_CREDENTIALS_FILE", secret=aws_creds_secret)
143
143
]
144
144
145
- # Create experiment spec
145
+ # Create first experiment spec
146
146
experiment_spec = ExperimentSpec(
147
147
description=f"OlmOCR Benchmark Run - Branch: {git_branch}, Commit: {git_hash}",
148
148
budget="ai2/oe-data",
149
149
tasks=[TaskSpec(**task_spec_args)],
150
150
)
151
151
152
- # Create the experiment
152
+ # Create the first experiment
153
153
experiment = b.experiment.create(spec=experiment_spec, workspace="ai2/olmocr")
154
- print(f"Created experiment: {experiment.id}")
154
+ print(f"Created benchmark experiment: {experiment.id}")
155
155
print(f"View at: https://beaker.org/ex/{experiment.id}")
156
+
157
+ # Second experiment: Performance test job
158
+ perf_pipeline_cmd = "python -m olmocr.pipeline ./localworkspace --markdown --pdfs s3://ai2-oe-data/jakep/olmocr/olmOCR-mix-0225/benchmark_set/"
159
+ if model:
160
+ perf_pipeline_cmd += f" --model {model}"
161
+
162
+ perf_commands = []
163
+ if has_aws_creds:
164
+ perf_commands.extend([
165
+ "mkdir -p ~/.aws",
166
+ 'echo "$AWS_CREDENTIALS_FILE" > ~/.aws/credentials'
167
+ ])
168
+ perf_commands.append(perf_pipeline_cmd)
169
+
170
+ # Build performance task spec
171
+ perf_task_spec_args = {
172
+ "name": "olmocr-performance",
173
+ "image": ImageSource(beaker=f"{beaker_user}/{image_tag}"),
174
+ "command": [
175
+ "bash", "-c",
176
+ " && ".join(perf_commands)
177
+ ],
178
+ "context": TaskContext(
179
+ priority=Priority.normal,
180
+ preemptible=True,
181
+ ),
182
+ "resources": TaskResources(gpu_count=1),
183
+ "constraints": Constraints(cluster=["ai2/ceres-cirrascale", "ai2/jupiter-cirrascale-2"]),
184
+ "result": ResultSpec(path="/noop-results"),
185
+ }
186
+
187
+ # Add env vars if AWS credentials exist
188
+ if has_aws_creds:
189
+ perf_task_spec_args["env_vars"] = [
190
+ EnvVar(name="AWS_CREDENTIALS_FILE", secret=aws_creds_secret)
191
+ ]
192
+
193
+ # Create performance experiment spec
194
+ perf_experiment_spec = ExperimentSpec(
195
+ description=f"OlmOCR Performance Test - Branch: {git_branch}, Commit: {git_hash}",
196
+ budget="ai2/oe-data",
197
+ tasks=[TaskSpec(**perf_task_spec_args)],
198
+ )
199
+
200
+ # Create the performance experiment
201
+ perf_experiment = b.experiment.create(spec=perf_experiment_spec, workspace="ai2/olmocr")
202
+ print(f"Created performance experiment: {perf_experiment.id}")
203
+ print(f"View at: https://beaker.org/ex/{perf_experiment.id}")
156
204
EOF
157
205
158
- # Run the Python script to create the experiment
159
- echo " Creating Beaker experiment ..."
206
+ # Run the Python script to create the experiments
207
+ echo " Creating Beaker experiments ..."
160
208
if [ -n " $MODEL " ]; then
161
209
echo " Using model: $MODEL "
162
210
$PYTHON /tmp/run_benchmark_experiment.py $IMAGE_TAG $BEAKER_USER $GIT_BRANCH $GIT_HASH " $MODEL "
167
215
# Clean up temporary file
168
216
rm /tmp/run_benchmark_experiment.py
169
217
170
- echo " Benchmark experiment submitted successfully!"
218
+ echo " Benchmark experiments submitted successfully!"
0 commit comments