Views
No views yet
1import time
2import torch
3from peft import PeftModel, PeftConfig
4from transformers import AutoModelForCausalLM, AutoTokenizer
5
6peft_model_id = "hackathon-somos-nlp-2023/baizemocracy-lora-7B-cfqa"
7config = PeftConfig.from_pretrained(peft_model_id)
8base_model = AutoModelForCausalLM.from_pretrained("decapoda-research/llama-7b-hf", return_dict=True, load_in_8bit=True, device_map='auto')
9tokenizer = AutoTokenizer.from_pretrained(peft_model_id)
10
11# Load the Lora model
12tuned_model = PeftModel.from_pretrained(base_model, peft_model_id)
13
14def generate(text):
15 stt = time.time()
16 print("hackathon-somos-nlp-2023/baizemocracy-lora-7B-cfqa response:")
17 inputs = tokenizer(text, return_tensors="pt")
18 input_ids = inputs["input_ids"].cuda()
19 with torch.cuda.amp.autocast():
20 tuned_model.eval()
21
22 generation_output = tuned_model.generate(
23 input_ids=input_ids[:,1:-1],
24 generation_config=generation_config,
25 return_dict_in_generate=True,
26 output_scores=True,
27 max_new_tokens=256
28 )
29 for s in generation_output.sequences:
30 output = tokenizer.decode(s)
31 print(output)
32 ent = time.time()
33 elapsed_time = round(ent - stt, 2)
34 print (f"{elapsed_time} seconds")
351#Text taken from Mexican political reform from https://www.gob.mx/cms/uploads/attachment/file/3080/EXPLICACION_AMPLIADA_REFORMA_POLITICA_ELECTORAL.pdf
2text = """
3Given the Context answer the Question. Answers must be source based, use topics to elaborate on the Response if they're provided.
4Context:'Se otorga autonomía constitucional al Consejo Nacional de Evaluación de la Política de Desarrollo Social (CONEVAL), hasta ahora un organismo público descentralizado dependiente de la
5Secretaría de Desarrollo Social. La autonomía garantizará la objetividad, independencia y rigor necesarios para evaluar la política social del país. Esto permitirá perfeccionar el diseño y aplicación de las políticas públicas destinadas a mejorar la calidad de vida de los sectores de menores
6ingresos'
7Question: '¿para qué se le dará autonomía al CONEVAL?'"""
8generate(text)
9output:
10Respuesta: El CONEVAL recibirá autonomía para garantizar la objetividad, independencia y rigor necesarios para evaluar la política social del país. Esto permitirá perfeccionar el diseño y aplicación de las políticas públicas destinadas a mejorar la calidad de vida de los sectores de menores
11ingresos.1#Text taken from Mexican political reform from https://www.gob.mx/cms/uploads/attachment/file/3080/EXPLICACION_AMPLIADA_REFORMA_POLITICA_ELECTORAL.pdf
2text = """
3Given the Context answer the Question. Answers must be source based, use topics to elaborate on the Response if they're provided.
4Context:'Ratificación del Plan Nacional de Desarrollo y de la Estrategia Nacional de
5Seguridad Pública
6Se adiciona como facultad de la Cámara de Diputados la aprobación del Plan Nacional de Desarrollo, con lo que la pluralidad de intereses y las visiones expresadas por las distintas fuerzas
7políticas que componen la Cámara de Diputados quedarán plasmadas en la ruta que el Ejecutivo
8Federal traza para sus acciones durante cada sexenio.
9De igual manera, el Senado de la República ratificará la Estrategia Nacional de Seguridad Pública. Toda vez que la función principal del Estado es garantizar la seguridad, es indispensable que
10dicha estrategia sea aprobada por un órgano representativo de la voluntad popular como es el
11caso del Senado.
12El papel que desempeñarán las Cámaras del Congreso de la Unión en el contexto de la Reforma
13Política-Electoral permite aumentar el nivel de corresponsabilidad entre los Poderes de la Unión,
14al mismo tiempo que preserva la capacidad del Estado mexicano para responder oportunamente ante las amenazas al orden público y para poner en marcha acciones de trascendencia nacional.'
15Question: '¿cual será la nueva facultad de la cámara?'"""
16generate(text)
17output:
18Answer: La nueva facultad de la Cámara de Diputados será la aprobación del Plan Nacional de Desarrollo, con lo que la pluralidad de intereses y las visiones expresadas por las distintas fuerzas políticas que componen la Cámara de Diputados quedarán plasmadas en la ruta que el Ejecutivo Federal traza para sus acciones durante cada sexenio.1def format_ds(example):
2 example["text"] = (
3 "Given the Context answer the Question. Answers must be source based, use topics to elaborate on the Response if they're provided."
4 + " Question: '{}'".format(example['input'].strip())
5 + " Context: {}".format(example['instruction'].strip())
6 + " Topics: {}".format(example['topics'])
7 + " Response: '{}'".format(example['output'].strip())
8 )
9 return example