AWS Trainium & Inferentia 文档
LoRA for Neuron
并获得增强的文档体验
开始使用
LoRA for Neuron
为在 AWS Trainium 设备上进行分布式训练而优化的 LoRA(低秩自适应)实现。该模块提供高效的参数高效微调,并支持张量并行和序列并行。
PEFT 模型类
NeuronPeftModel
class optimum.neuron.peft.NeuronPeftModel
< 源代码 >( model: PreTrainedModel peft_config: PeftConfig adapter_name: str = 'default' autocast_adapter_dtype: bool = True **kwargs: Any )
NeuronPeftModelForCausalLM
class optimum.neuron.peft.NeuronPeftModelForCausalLM
< 源代码 >( model: PreTrainedModel peft_config: PeftConfig adapter_name: str = 'default' autocast_adapter_dtype: bool = True **kwargs: Any )
LoRA 层实现
基础 LoRA 层
class optimum.neuron.peft.tuners.lora.layer.NeuronLoraLayer
< 源代码 >( base_layer: Module ephemeral_gpu_offload: bool = False **kwargs )
并行线性 LoRA
class optimum.neuron.peft.tuners.lora.layer.ParallelLinear
< 源代码 >( base_layer adapter_name: str r: int = 0 lora_alpha: int = 1 lora_dropout: float = 0.0 fan_in_fan_out: bool = False is_target_conv_1d_layer: bool = False init_lora_weights: bool | str = True use_rslora: bool = False use_dora: bool = False lora_bias: bool = False **kwargs )
GQA QKV 列并行 LoRA
class optimum.neuron.peft.tuners.lora.layer.GQAQKVColumnParallelLinear
< 源代码 >( base_layer adapter_name: str r: int = 0 lora_alpha: int = 1 lora_dropout: float = 0.0 fan_in_fan_out: bool = False is_target_conv_1d_layer: bool = False init_lora_weights: bool | str = True use_rslora: bool = False use_dora: bool = False lora_bias: bool = False **kwargs )
并行嵌入 LoRA
class optimum.neuron.peft.tuners.lora.layer.ParallelEmbedding
< 源代码 >( base_layer: Module adapter_name: str r: int = 0 lora_alpha: int = 1 lora_dropout: float = 0.0 fan_in_fan_out: bool = False init_lora_weights: bool | str = True use_rslora: bool = False use_dora: bool = False lora_bias: bool = False **kwargs )
LoRA 模型
NeuronLoraModel
class optimum.neuron.peft.tuners.NeuronLoraModel
< 源代码 >( model config adapter_name low_cpu_mem_usage: bool = False )
实用函数
get_peft_model
optimum.neuron.peft.get_peft_model
< 源代码 >( model: PreTrainedModel peft_config: PeftConfig adapter_name: str = 'default' mixed: bool = False autocast_adapter_dtype: bool = True revision: str | None = None low_cpu_mem_usage: bool = False )
架构支持
Neuron LoRA 实现支持以下并行层类型
- ColumnParallelLinear:用于沿输出维度拆分权重的层
- RowParallelLinear:用于沿输入维度拆分权重的层
- ParallelEmbedding:用于在不同等级之间分布的嵌入层
- GQAQKVColumnParallelLinear:用于具有挑战性张量并行配置的分组查询注意力投影
每种层类型都有相应的 LoRA 实现,在增加低秩自适应功能的同时保持并行化策略。
主要功能
- 分布式训练:完全支持张量并行和序列并行
- 检查点合并:分片和合并检查点之间的自动转换
- 权重转换:与模型权重转换规范无缝集成
- 兼容性:适用于 Optimum Neuron 中所有支持的自定义建模架构