Fixes#484
Add support for instruct tuning with input/output pairs and alternative loss functions.
* **llms/mlx_lm/lora.py**
- Add `CompletionsDataset` class to support input/output pairs.
- Modify `Dataset` class to handle different dataset types.
- Update `main` function to include new dataset type.
* **llms/mlx_lm/tuner/trainer.py**
- Modify `default_loss` function to support alternative loss functions.
- Add new `instruct_loss` function for instruct tuning.
* **llms/mlx_lm/LORA.md**
- Add instructions for instruct tuning with input/output pairs.
- Update documentation to include alternative loss functions.
* **llms/tests/test_datasets.py**
- Add tests for `CompletionsDataset` and `create_dataset` functions.
* **llms/tests/test_trainer.py**
- Add tests for `default_loss` and `instruct_loss` functions.
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/ml-explore/mlx-examples/issues/484?shareId=XXXX-XXXX-XXXX-XXXX).