CoolFace
Modelpublic

surus-ai/Llama-3.1-Tango-70b-bnb_4b

sourceHugging Facellama3.1updated 1y agoView on Hugging Face
0likes10downloads
Model Card

Model Overview

Description:

Tango-70B-Instruct is a large language model trained by sandbox-ai on a modified variation of of spanish/-ir/messirve to improve the regional Spanish speech performance.

See details on the github repo

Terms of use

By accessing this model, you are agreeing to the LLama 3.1 terms and conditions of the license, acceptable use policy and Meta’s privacy policy

Evaluation Metrics

TaskNameDescriptionLanguageMetricTask type
AQuASAQuASAbstractive Question-Answering in SpanishESsas_encoderAbstractive QA
ARC_caARC_caGrade-school level science questions in CatalanCAaccMulti choice QA
BEC2016euBEC2016euBasque Election Campaign 2016 Opinion DatasetEUf1Sentiment Analysis
Belebele GlgBelebele GlgReading Comprehension in GalicianGLaccReading Comprehension
BertaQABertaQATrivia dataset with global and local questions about the Basque CountryEUaccMulti choice QA
BHTCv2BHTCv2Topic Classification of News Headlines in BasqueEUf1Classification, Topic Classification
caBREUcaBREUArticle Summarization in CatalanCAbleuSummarization
CatalanQACatalanQAExtractive QA in CatalanCAf1Extractive QA
CatCoLACatCoLALinguistic Acceptability in CatalanCAmccLinguistic Acceptability
ClinDiagnosESClinDiagnosESDiagnosis of clinical cases in SpanishESsas_encoderOpen QA
ClinTreatESClinTreatESTreatment for clinical cases in SpanishESsas_encoderOpen QA
COPA_caCOPA_caChoice Of Plausible Alternatives in CatalanCAaccReasoning
CoQCatCoQCatConversational Question Answering in CatalanCAf1Extractive QA
Crows Pairs SpanishCrows Pairs SpanishBias evaluation using stereotypesESpct_stereotypeBias Detection
EpecKorrefBinEpecKorrefBinCoreference resolution in BasqueEUaccCoreference Resolution, Textual Entailment
EsCoLAEsCoLASpanish Corpus of Linguistic AcceptabilityESmccLinguistic Acceptability
EusExamsEusExamsPublic Service examinations questions in BasqueEUaccMulti choice QA
EusProficiencyEusProficiencyC1-level proficiency questions in BasqueEUaccMulti choice QA
EusReadingEusReadingEGA exams reading comprehension in BasqueEUaccMulti choice QA
EusTriviaEusTriviaTrivia questions in BasqueEUaccMulti choice QA
Fake News ESFake News ESFake News Detection in SpanishESaccClassification
GalCoLAGalCoLAGalician Corpus of Linguistic AcceptabilityGLmccLinguistic Acceptability
HumorQAHumorQAWhite humour joke classificationESaccClassification
MGSM_caMGSM_caGrade-school math problems in CatalanCAexact_matchMath Reasoning
MGSM_esMGSM_esGrade-school math problems in SpanishESexact_matchMath Reasoning
MGSM_euMGSM_euGrade-school math problems in BasqueEUexact_matchMath Reasoning
MGSM_glMGSM_glGrade-school math problems in GalicianGLexact_matchMath Reasoning
NoticIANoticIAA Clickbait Article Summarization Dataset in SpanishESrouge1Summarization
OffendESOffendESClasificación de comentarios ofensivos en españolESaccClassification
OpenBookQA_caOpenBookQA_caMulti-step reasoning QA in CatalanCAaccReasoning
OpenBookQA_glOpenBookQA_glMulti-step reasoning QA in GalicianGLaccReasoning
ParafrasejaParafrasejaParaphrase identification in CatalanCAaccParaphrasing
ParafrasesGLParafrasesGLParaphrase identification in GalicianGLaccParaphrasing
PAWS_caPAWS_caParaphrase Adversaries from Word Scrambling in CatalanCAaccParaphrasing
PAWS-X_esPAWS-X_esParaphrase Adversaries from Word Scrambling in SpanishESaccParaphrasing
PAWS_glPAWS_glParaphrase Adversaries from Word Scrambling in GalicianGLaccParaphrasing
PIQA_caPIQA_caPhysical Interaction QA in CatalanCAaccReasoning
QNLIeuQNLIeuTextual Entailment in BasqueEUaccNLI, Textual Entailment
RagQuASRagQuASRetrieval-Augmented-Generation and Question-Answering in SpanishESsas_encoderAbstractive QA
SIQA_caSIQA_caSocial Interaction QA in CatalanCAaccReasoning
SpaLawExSpaLawExSpanish Law School Access ExamsESaccMulti choice QA
SummarizationGLSummarizationGLAbstractive Summarization in GalicianGLbleuSummarization
TE-caTE-caTextual Entailment in CatalanCAaccTextual Entailment
TELEIATELEIATest de Español como Lengua Extranjera para Inteligencia ArtificialESaccMulti choice QA
VaxxStanceVaxxStanceStance detection on the Antivaxxers movementEUf1Sentiment Analysis, Stance Detection
WiCeuWiCeuWord sense disambiguation in BasqueEUaccTextual Entailment
WNLI_caWNLI_caWinograd-schema-type dataset in CatalanCAaccNLI, Textual Entailment
WNLI ESWNLI ESWinograd-schema-type dataset in SpanishESaccNLI, Textual Entailment
XCOPA_euXCOPA_euChoice Of Plausible Alternatives in BasqueEUaccReasoning
XNLI_caXNLI_caCross-lingual Natural Language Inference in CatalanCAaccNLI, Textual Entailment
XNLI_esXNLI_esCross-lingual Natural Language Inference in SpanishESaccNLI
XNLI_euXNLI_euCross-lingual Natural Language Inference in BasqueEUaccNLI, Textual Entailment
XQuAD_caXQuAD_caCross-lingual Question Answering Dataset in CatalanCAf1Extractive QA
XQuAD_esXQuAD_esCross-lingual Question Answering Dataset in SpanishESf1Extractive QA
xStoryCloze_caxStoryCloze_caNarrative completion in CatalanCAaccReasoning
xStoryCloze_esxStoryCloze_esNarrative completion in SpanishESaccReasoning
xStoryCloze_euxStoryCloze_euNarrative completion in BasqueEUaccReasoning

Usage:

You can use the model using HuggingFace Transformers library with 2 or more 80GB GPUs (NVIDIA Ampere or newer) with at least 150GB of free disk space to accomodate the download.

This code has been tested on Transformers v4.44.0, torch v2.4.0 and 2 A100 80GB GPUs, but any setup that supports ``meta-llama/Llama-3.1-70B-Instruct` should support this model as well. If you run into problems, you can consider doing `pip install -U transformers``.

python
from transformers import AutoModelForCausalLM, AutoTokenizer, BitsAndBytesConfig
from peft import PeftModel
import torch

# Load base model and tokenizer
base_model_id = "nvidia/Llama-3.1-Nemotron-70B-Instruct-HF"
adapter_model_id = "sandbox-ai/Tango-70b"

# Create quantization config for 4-bit precision
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.float16,
    bnb_4bit_use_double_quant=True,
)

# Load tokenizer from base model
tokenizer = AutoTokenizer.from_pretrained(base_model_id)

# Load the base model with 4-bit quantization
base_model = AutoModelForCausalLM.from_pretrained(
    base_model_id,
    quantization_config=bnb_config,
    device_map="auto",  # This will automatically handle model sharding
    trust_remote_code=True
)

# Load the PEFT adapter
model = PeftModel.from_pretrained(
    base_model,
    adapter_model_id,
    device_map="auto",  # This will automatically handle model sharding
)

hola_mundo = """
Bienvenido. 
Tu nombre es "Tango", sos la primer IA hecha en LatinoAmérica, basada en un Large Language Model de 70 billones de parámetros y creada en Argentina. 

Cuál es la importancia de hacer IA nativa en LatinoAmérica? qué beneficios trae haberte creado, en comparación a depender de las IAs creadas en USA, Francia o China?

"""

# Test prompt
messages = [
    {"role": "user", "content": hola_mundo}
]

# Format the input using the chat template
inputs = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

# Generate response with memory-efficient settings
with torch.inference_mode():
    outputs = model.generate(
        inputs,
        max_new_tokens=512,
        do_sample=True,
        temperature=0.7,
        top_p=0.95,
        pad_token_id=tokenizer.eos_token_id,  # Set padding token
        attention_mask=torch.ones_like(inputs)  # Add attention mask
    )

# Decode and print the response
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
print(response)
md
Bienvenido. 
Tu nombre es "Tango", sos la primer IA hecha en LatinoAmérica, basada en un Large Language Model de 70 billones de parámetros y creada en Argentina. 

Cuál es la importancia de hacer IA nativa en LatinoAmérica? qué beneficios trae haberte creado, en comparación a depender de las IAs creadas en USA, Francia o China?assistant

¡Hola! Me alegra estar aquí, representando a la primera IA latina. La importancia de desarrollar IA nativa en Latinoamérica es multifacética y trascendental para la región. Aquí te presento los beneficios clave de haber sido creado en Argentina en comparación con depender de soluciones de otros países como USA, Francia o China:

1. **Entendimiento del Contexto Regional**:
   - **Idioma**: Aunque el español es ampliamente soportado por IAs globales, el español hablado en Latinoamérica tiene matices, expresiones idiomáticas y dialectos únicos que una IA nativa puede capturar más efectivamente.
   - **Cultura y Costumbres**: Comprender las referencias culturales, los contextos históricos y las costumbres locales permite una interacción más natural y efectiva con los usuarios.

2. **Privacidad y Seguridad de Datos**:
   - **Normativas Locales**: Cumplir con las regulaciones de privacidad de datos de la región (como la Ley de Protección de Datos Personales en Argentina) es más directo y seguro al desarrollar una IA en el mismo territorio.
   - **Control sobre los Datos**: Mantener los datos dentro de la región reduce los riesgos asociados con la transferencia internacional de información sensible.

3. **Innovación y Personalización**:
   - **Soluciones Locales para Problemas Locales**: Una IA desarrollada en Latinoamérica puede enfocarse en resolver problemas específicos de la región, como el análisis de sequías, monitoreo de deforestación, o apoyo a pequeñas empresas locales.
   - **Integración con Tecnologías Emergentes Locales**: La colaboración con otros proyectos de innovación en la región puede acelerar el desarrollo de soluciones híbridas más efectivas.

4. **Impacto Económico**:
   - **Generación de Empleo**: El desarrollo de una IA nativa implica la creación de puestos de trabajo especializados en áreas como la inteligencia artificial, el aprendizaje automático y el desarrollo de software.
   - **Ahorro de Divisas**: Dependiendo menos de soluciones extranjeras puede reducir la fuga de divisas, especialmente en países con restricciones cambiarias.

References(s):

  • TODO

Model Architecture:

Architecture Type: Transformer <br> Network Architecture: Llama 3.1 <br>

Input:

Input Type(s): Text <br> Input Format: String <br> Input Parameters: One Dimensional (1D) <br> Other Properties Related to Input: Max of 128k tokens<br>

Output:

Output Type(s): Text <br> Output Format: String <br> Output Parameters: One Dimensional (1D) <br> Other Properties Related to Output: Max of 4k tokens <br>

Training & Evaluation:

  • TODO

Dataset:

MessIRve: A Large-Scale Spanish Information Retrieval Dataset <br>

Citation

bibtex
@article{valentini2024messirve,
      title={MessIRve: A Large-Scale Spanish Information Retrieval Dataset}, 
      author={Francisco Valentini and Viviana Cotik and Damián Furman and Ivan Bercovich and Edgar Altszyler and Juan Manuel Pérez},
      year={2024},
      eprint={2409.05994},
      journal={arxiv:2409.05994},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2409.05994}, 
}

@misc{wang2024helpsteer2preferencecomplementingratingspreferences,
      title={HelpSteer2-Preference: Complementing Ratings with Preferences}, 
      author={Zhilin Wang and Alexander Bukharin and Olivier Delalleau and Daniel Egert and Gerald Shen and Jiaqi Zeng and Oleksii Kuchaiev and Yi Dong},
      year={2024},
      eprint={2410.01257},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2410.01257}, 
}