Files
sglang/test/srt/test_eval_accuracy_large.py

74 lines
1.8 KiB
Python
Raw Normal View History

"""
Usage:
python -m unittest test_eval_accuracy_large.TestEvalAccuracyLarge.test_mmlu
"""
2024-08-12 02:21:38 -07:00
import unittest
from types import SimpleNamespace
from sglang.srt.utils import kill_process_tree
2024-08-12 02:21:38 -07:00
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_process_tree(cls.process.pid)
2024-08-12 02:21:38 -07:00
def test_mmlu(self):
args = SimpleNamespace(
base_url=self.base_url,
model=self.model,
eval_name="mmlu",
num_examples=5000,
2024-08-12 02:48:40 -07:00
num_threads=1024,
2024-08-12 02:21:38 -07:00
)
metrics = run_eval(args)
self.assertGreater(metrics["score"], 0.71)
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)
self.assertGreater(metrics["score"], 0.64)
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)
self.assertGreater(metrics["score"], 0.835)
2024-08-12 02:21:38 -07:00
if __name__ == "__main__":
unittest.main()