mirror of
https://github.com/NicolasBohn/NexQuant.git
synced 2026-07-30 00:47:43 +00:00
40 lines
1.2 KiB
Python
40 lines
1.2 KiB
Python
|
|
"""
|
||
|
|
LLM Fine-tuning Experiment Components
|
||
|
|
|
||
|
|
Defines tasks for LLM fine-tuning following data science pattern.
|
||
|
|
"""
|
||
|
|
|
||
|
|
from typing import List, Optional
|
||
|
|
|
||
|
|
from rdagent.components.coder.CoSTEER.task import CoSTEERTask
|
||
|
|
|
||
|
|
|
||
|
|
class FTTask(CoSTEERTask):
|
||
|
|
"""Training task class for LLM fine-tuning operations - follows data science pattern"""
|
||
|
|
|
||
|
|
def __init__(
|
||
|
|
self,
|
||
|
|
base_model: str,
|
||
|
|
description: str,
|
||
|
|
benchmark: str,
|
||
|
|
involving_datasets: Optional[List[str]] = None,
|
||
|
|
skip_data_processing: bool = False,
|
||
|
|
*args,
|
||
|
|
**kwargs,
|
||
|
|
) -> None:
|
||
|
|
super().__init__(name="LLM-Fine-Tuning", description=description, *args, **kwargs)
|
||
|
|
self.base_model = base_model
|
||
|
|
self.benchmark = benchmark
|
||
|
|
self.involving_datasets = involving_datasets or []
|
||
|
|
self.skip_data_processing = skip_data_processing # If True, reuse SOTA's data processing script
|
||
|
|
|
||
|
|
def get_task_information(self) -> str:
|
||
|
|
"""Get task information for coder prompt generation"""
|
||
|
|
task_desc = f"""name: {self.name}
|
||
|
|
description: {self.description}
|
||
|
|
base_model: {self.base_model}
|
||
|
|
"""
|
||
|
|
if self.involving_datasets:
|
||
|
|
task_desc += f"involving_datasets: {self.involving_datasets}\n"
|
||
|
|
return task_desc
|