Instructions to use arham6/tmp with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use arham6/tmp with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-llm-7b-chat") model = PeftModel.from_pretrained(base_model, "arham6/tmp") - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Studio
How to use arham6/tmp with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for arham6/tmp to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for arham6/tmp to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for arham6/tmp to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="arham6/tmp", max_seq_length=2048, )
| from typing import * | |
| import torch | |
| import torch.distributed.rpc as rpc | |
| from torch import Tensor | |
| from torch._jit_internal import Future | |
| from torch.distributed.rpc import RRef | |
| from typing import Tuple # pyre-ignore: unused import | |
| module_interface_cls = None | |
| def forward_async(self, *args, **kwargs): | |
| args = (self.module_rref, self.device, self.is_device_map_set, *args) | |
| kwargs = {**kwargs} | |
| return rpc.rpc_async( | |
| self.module_rref.owner(), | |
| _remote_forward, | |
| args, | |
| kwargs, | |
| ) | |
| def forward(self, *args, **kwargs): | |
| args = (self.module_rref, self.device, self.is_device_map_set, *args) | |
| kwargs = {**kwargs} | |
| ret_fut = rpc.rpc_async( | |
| self.module_rref.owner(), | |
| _remote_forward, | |
| args, | |
| kwargs, | |
| ) | |
| return ret_fut.wait() | |
| _generated_methods = [ | |
| forward_async, | |
| forward, | |
| ] | |
| def _remote_forward( | |
| module_rref: RRef[module_interface_cls], device: str, is_device_map_set: bool, *args, **kwargs): | |
| module = module_rref.local_value() | |
| device = torch.device(device) | |
| if device.type != "cuda": | |
| return module.forward(*args, **kwargs) | |
| # If the module is on a cuda device, | |
| # move any CPU tensor in args or kwargs to the same cuda device. | |
| # Since torch script does not support generator expression, | |
| # have to use concatenation instead of | |
| # ``tuple(i.to(device) if isinstance(i, Tensor) else i for i in *args)``. | |
| args = (*args,) | |
| out_args: Tuple[()] = () | |
| for arg in args: | |
| arg = (arg.to(device),) if isinstance(arg, Tensor) else (arg,) | |
| out_args = out_args + arg | |
| kwargs = {**kwargs} | |
| for k, v in kwargs.items(): | |
| if isinstance(v, Tensor): | |
| kwargs[k] = kwargs[k].to(device) | |
| if is_device_map_set: | |
| return module.forward(*out_args, **kwargs) | |
| # If the device map is empty, then only CPU tensors are allowed to send over wire, | |
| # so have to move any GPU tensor to CPU in the output. | |
| # Since torch script does not support generator expression, | |
| # have to use concatenation instead of | |
| # ``tuple(i.cpu() if isinstance(i, Tensor) else i for i in module.forward(*out_args, **kwargs))``. | |
| ret: Tuple[()] = () | |
| for i in module.forward(*out_args, **kwargs): | |
| i = (i.cpu(),) if isinstance(i, Tensor) else (i,) | |
| ret = ret + i | |
| return ret | |