Merge pull request #511 from hiyouga/feature-autoTemplate

add template match and stage in webui

Former-commit-id: 413752ecba845cddaff5fb48db7d3d24b960eec1
This commit is contained in:
hoshi-hiyouga
2023-08-14 22:44:04 +08:00
committed by GitHub
7 changed files with 74 additions and 13 deletions

View File

@@ -4,7 +4,7 @@ import gradio as gr
from llmtuner.extras.constants import METHODS, SUPPORTED_MODELS
from llmtuner.extras.template import templates
from llmtuner.webui.common import list_checkpoint, get_model_path, save_config
from llmtuner.webui.common import list_checkpoint, get_model_path, save_config, get_template
from llmtuner.webui.utils import can_quantize
if TYPE_CHECKING:
@@ -39,6 +39,7 @@ def create_top() -> Dict[str, "Component"]:
) # do not save config since the below line will save
model_path.change(save_config, [lang, model_name, model_path])
model_path.change(get_template, [model_name], [template])
finetuning_type.change(
list_checkpoint, [model_name, finetuning_type], [checkpoints]

View File

@@ -6,6 +6,7 @@ import gradio as gr
from llmtuner.webui.common import list_checkpoint, list_dataset, DEFAULT_DATA_DIR
from llmtuner.webui.components.data import create_preview_box
from llmtuner.webui.utils import can_preview, get_preview, gen_plot
from llmtuner.extras.constants import STAGES
if TYPE_CHECKING:
from gradio.components import Component
@@ -14,6 +15,9 @@ if TYPE_CHECKING:
def create_train_tab(top_elems: Dict[str, "Component"], runner: "Runner") -> Dict[str, "Component"]:
with gr.Row():
stage = gr.Dropdown(choices=STAGES,
value="Supervised Finetuning", scale=2)
dataset_dir = gr.Textbox(value=DEFAULT_DATA_DIR, scale=2)
dataset = gr.Dropdown(multiselect=True, scale=4)
data_preview_btn = gr.Button(interactive=False, scale=1)
@@ -62,7 +66,6 @@ def create_train_tab(top_elems: Dict[str, "Component"], runner: "Runner") -> Dic
with gr.Accordion(label="RLHF config", open=False) as rlhf_tab:
with gr.Row():
rlhf_method = gr.Dropdown(choices=["None", "Reward Modeling", "PPO", "DPO"], value="None", scale=1)
dpo_beta = gr.Slider(value=0.1, minimum=0, maximum=1, step=0.01, scale=2)
reward_model = gr.Dropdown(scale=2)
refresh_btn = gr.Button(scale=1)
@@ -101,6 +104,7 @@ def create_train_tab(top_elems: Dict[str, "Component"], runner: "Runner") -> Dic
top_elems["quantization_bit"],
top_elems["template"],
top_elems["source_prefix"],
stage,
dataset_dir,
dataset,
max_source_length,
@@ -122,7 +126,6 @@ def create_train_tab(top_elems: Dict[str, "Component"], runner: "Runner") -> Dic
lora_dropout,
lora_target,
resume_lora_training,
rlhf_method,
dpo_beta,
reward_model,
output_dir
@@ -142,6 +145,7 @@ def create_train_tab(top_elems: Dict[str, "Component"], runner: "Runner") -> Dic
)
return dict(
stage=stage,
dataset_dir=dataset_dir,
dataset=dataset,
data_preview_btn=data_preview_btn,
@@ -170,7 +174,6 @@ def create_train_tab(top_elems: Dict[str, "Component"], runner: "Runner") -> Dic
lora_target=lora_target,
resume_lora_training=resume_lora_training,
rlhf_tab=rlhf_tab,
rlhf_method=rlhf_method,
dpo_beta=dpo_beta,
reward_model=reward_model,
refresh_btn=refresh_btn,