implement LoRA / QLoRA (#46)
* implement LoRA / QLoRA - example of using MLX to fine-tune an LLM with low rank adaptation (LoRA) for a target task - see also https://arxiv.org/abs/2106.09685 - based on https://github.com/ml-explore/mlx-examples/tree/main/lora * add some command line flags I found useful during use - --quiet -- don't print decorator text, just the generated text - --prompt @/tmp/file.txt -- load prompt from file * user can specify path to model OR model identifier in huggingface * update mlx-swift reference Co-authored-by: Ashraful Islam <ashraful.meche@gmail.com> Co-authored-by: JustinMeans <46542161+JustinMeans@users.noreply.github.com>
This commit is contained in:
@@ -251,3 +251,11 @@ public struct Qwen2Configuration: Codable {
|
||||
[String: StringOrNumber].self, forKey: Qwen2Configuration.CodingKeys.ropeScaling)
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - LoRA
|
||||
|
||||
extension Qwen2Model: LoRAModel {
|
||||
public func loraLinearLayers() -> LoRALinearLayers {
|
||||
model.layers.map { ($0.attention, ["q_proj", "v_proj"]) }
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user