Files
wehub-resource-sync a203934033
Lint test / lint (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:34:58 +08:00

93 lines
5.0 KiB
Python

# Copyright (c) ModelScope Contributors. All rights reserved.
import gradio as gr
from typing import Type
from ..base import BaseUI
from ..llm_train import Tuner
from .lora import RLHFLoRA
from .target import RLHFTarget
class RLHFTuner(Tuner):
group = 'llm_rlhf'
sub_ui = [RLHFLoRA, RLHFTarget]
@classmethod
def do_build_ui(cls, base_tab: Type['BaseUI']):
with gr.Accordion(elem_id='tuner_params', open=False):
with gr.Tabs():
RLHFLoRA.build_ui(base_tab)
with gr.TabItem(elem_id='llamapro_tab'):
with gr.Blocks():
with gr.Row():
gr.Textbox(elem_id='llamapro_num_new_blocks', scale=2)
gr.Textbox(elem_id='llamapro_num_groups', scale=2)
with gr.TabItem(elem_id='lisa_tab'):
with gr.Blocks():
with gr.Row():
gr.Textbox(elem_id='lisa_activated_layers', value='0', scale=2)
gr.Textbox(elem_id='lisa_step_interval', value='20', scale=2)
with gr.TabItem(elem_id='adalora_tab'):
with gr.Blocks():
with gr.Row():
gr.Textbox(elem_id='adalora_target_r', value='8', scale=2)
gr.Slider(elem_id='adalora_init_r', value=12, minimum=1, maximum=512, step=4, scale=2)
gr.Textbox(elem_id='adalora_tinit', value='0', scale=2)
gr.Textbox(elem_id='adalora_tfinal', value='0', scale=2)
with gr.Row():
gr.Textbox(elem_id='adalora_deltaT', value='1', scale=2)
gr.Textbox(elem_id='adalora_beta1', value='0.85', scale=2)
gr.Textbox(elem_id='adalora_beta2', value='0.85', scale=2)
gr.Textbox(elem_id='adalora_orth_reg_weight', value='0.5', scale=2)
with gr.TabItem(elem_id='lora_ga_tab'):
with gr.Blocks():
with gr.Row():
gr.Slider(elem_id='lora_ga_batch_size', value=2, minimum=1, maximum=256, step=1, scale=20)
gr.Textbox(elem_id='lora_ga_iters', value='2', scale=20)
gr.Textbox(elem_id='lora_ga_max_length', value='2048', scale=20)
gr.Dropdown(
elem_id='lora_ga_direction',
scale=20,
value='ArB2r',
choices=['ArBr', 'A2rBr', 'ArB2r', 'random'])
gr.Dropdown(
elem_id='lora_ga_scale',
scale=20,
value='stable',
choices=['gd', 'unit', 'stable', 'weights'])
gr.Textbox(elem_id='lora_ga_stable_gamma', value='16', scale=20)
with gr.TabItem(elem_id='reft_tab'):
with gr.Blocks():
with gr.Row():
gr.Textbox(elem_id='reft_layers', scale=2)
gr.Slider(elem_id='reft_rank', value=4, minimum=1, maximum=512, step=4, scale=2)
gr.Dropdown(
elem_id='reft_intervention_type',
scale=2,
value='LoreftIntervention',
choices=[
'NoreftIntervention', 'LoreftIntervention', 'ConsreftIntervention',
'LobireftIntervention', 'DireftIntervention', 'NodireftIntervention'
])
with gr.TabItem(elem_id='vera_tab'):
with gr.Blocks():
with gr.Row():
gr.Slider(elem_id='vera_rank', value=256, minimum=1, maximum=512, step=4, scale=2)
gr.Textbox(elem_id='vera_projection_prng_key', value='0', scale=2)
gr.Textbox(elem_id='vera_dropout', value='0.0', scale=2)
gr.Textbox(elem_id='vera_d_initial', value='0.1', scale=2)
with gr.TabItem(elem_id='boft_tab'):
with gr.Blocks():
with gr.Row():
gr.Textbox(elem_id='boft_block_size', value='4', scale=2)
gr.Textbox(elem_id='boft_block_num', scale=2)
gr.Textbox(elem_id='boft_dropout', value='0.0', scale=2)
with gr.TabItem(elem_id='fourierft_tab'):
with gr.Blocks():
with gr.Row():
gr.Textbox(elem_id='fourier_n_frequency', value='2000', scale=2)
gr.Textbox(elem_id='fourier_scaling', value='300.0', scale=2)
RLHFTarget.build_ui(base_tab)