Files
sglang/test/srt/test_eval_accuracy_large.py

69 lines
1.8 KiB
Python
Raw Normal View History

2024-08-12 02:21:38 -07:00
import unittest
from types import SimpleNamespace
from sglang.srt.utils import kill_child_process
from sglang.test.run_eval import run_eval
from sglang.test.test_utils import (
DEFAULT_MODEL_NAME_FOR_TEST,
DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
DEFAULT_URL_FOR_TEST,
2024-08-12 02:21:38 -07:00
popen_launch_server,
)
class TestEvalAccuracyLarge(unittest.TestCase):
@classmethod
def setUpClass(cls):
cls.model = DEFAULT_MODEL_NAME_FOR_TEST
cls.base_url = DEFAULT_URL_FOR_TEST
2024-08-12 02:21:38 -07:00
cls.process = popen_launch_server(
cls.model,
cls.base_url,
timeout=DEFAULT_TIMEOUT_FOR_SERVER_LAUNCH,
2024-08-12 02:21:38 -07:00
other_args=["--log-level-http", "warning"],
)
@classmethod
def tearDownClass(cls):
kill_child_process(cls.process.pid)
def test_mmlu(self):
args = SimpleNamespace(
base_url=self.base_url,
model=self.model,
eval_name="mmlu",
2024-08-12 02:48:40 -07:00
num_examples=3000,
num_threads=1024,
2024-08-12 02:21:38 -07:00
)
metrics = run_eval(args)
assert metrics["score"] >= 0.705, f"{metrics}"
2024-08-12 02:21:38 -07:00
def test_human_eval(self):
args = SimpleNamespace(
base_url=self.base_url,
model=self.model,
eval_name="humaneval",
num_examples=None,
2024-08-12 02:48:40 -07:00
num_threads=1024,
2024-08-12 02:21:38 -07:00
)
metrics = run_eval(args)
2024-08-13 16:43:23 +08:00
assert metrics["score"] >= 0.64, f"{metrics}"
2024-08-12 02:21:38 -07:00
def test_mgsm_en(self):
args = SimpleNamespace(
base_url=self.base_url,
model=self.model,
eval_name="mgsm_en",
num_examples=None,
2024-08-12 02:48:40 -07:00
num_threads=1024,
2024-08-12 02:21:38 -07:00
)
metrics = run_eval(args)
2024-08-13 16:43:23 +08:00
assert metrics["score"] >= 0.84, f"{metrics}"
2024-08-12 02:21:38 -07:00
if __name__ == "__main__":
unittest.main()