aswin1906/llama-7b-sql-2k

aswin1906
Pregunta y respuesta

Instrucciones de ajuste fino se ha vuelto extremadamente popular desde el lanzamiento (accidental) de LLaMA. El tamaño de estos modelos y las peculiaridades de entrenarlos en instrucciones y respuestas introducen más complejidad y, a menudo, requieren técnicas de aprendizaje eficientes en términos de parámetros como QLoRA. Referencia al conjunto de datos en aswin1906/llama2-sql-instruct-2k

Como usar

from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline
import torch, re
from rich import print

class Training:
    def __init__(self) -> None:
        self.model_name= "meta-llama/Llama-2-7b-chat-hf"
        self.dataset= "aswin1906/llama2-sql-instruct-2k"
        self.model_path= "aswin1906/llama-7b-sql-2k"
        self.instruction= 'You are given the following SQL table structure described by CREATE TABLE statement: CREATE TABLE "l" ( "player" text, "no" text, "nationality" text, "position" text, "years_in_toronto" text, "school_club_team" text ); Write an SQL query that provides the solution to the following question: '
        self.model = AutoModelForCausalLM.from_pretrained(
            self.model_path,
            load_in_8bit=False,
            torch_dtype=torch.float16,
            device_map="auto"
        )
        self.tokenizer = AutoTokenizer.from_pretrained(self.model_path)
    
    def inference(self, prompt):
        """
        Prompting started here
        """        
        # Run text generation pipeline with our next model
        pipe = pipeline(task="text-generation", model=self.model, tokenizer=self.tokenizer, max_length=200)
        result = pipe(f'[INST] {self.instruction}"{prompt}". [/INST]')
        response= result[0]['generated_text'].split('[/INST]')[-1]
        return response

train= Training()
instruction= re.split(';|by CREATE', train.instruction)
print(f"[purple4] ------------------------------Instruction--------------------------")
print(f"[medium_spring_green] {instruction[0]}")
print(f"[bold green]CREATE{instruction[1]};")
print(f"[medium_spring_green] {instruction[2]}")
print(f"[purple4] -------------------------------------------------------------------")
while True:
    # prompt = 'What position does the player who played for butler cc (ks) play?'
    print("[bold blue]#Human: [bold green]", end="")
    user = input()
    print('[bold blue]#Response: [bold green]', train.inference(user))

Contact [email protected] for model training code

Funcionalidades

Ajuste fino de instrucciones usando qLORA para un conjunto de datos SQL personalizado
Modelo de generación de texto
Compatible con AutoTrain
Compatible con Inferencia de Generación de Texto
Compatible con Puntos de Inferencia
Basado en transformers
Utiliza PyTorch

Casos de uso

Generación automática de texto basado en un prompt
Creación de consultas SQL a partir de descripciones en lenguaje natural
Entrenamiento y ajuste fino de modelos para tareas específicas
Mejora en la eficiencia de los modelos mediante técnicas como QLoRA