How to Use the Sarashina2-70B Language Model

Aug 7, 2024 | Educational

The Sarashina2-70B model, developed by SB Intuitions, is a powerful tool for generating text in both Japanese and English. In this guide, we will walk you through how to set up and use this model efficiently.

Setting Up Your Environment

Before diving into the implementation, ensure that you have the necessary libraries installed. You will need torch and transformers from Hugging Face. If you don’t have them installed yet, use the following commands:

pip install torch transformers

Implementation Steps

Now, let’s get to the hands-on part. Here’s a detailed guide illustrating how to use the model:

import torch
from transformers import AutoModelForCausalLM, AutoTokenizer, pipeline, set_seed

model = AutoModelForCausalLM.from_pretrained(
    "sbintuitions/sarashina2-70b", 
    torch_dtype=torch.bfloat16, 
    device_map="auto"
)

tokenizer = AutoTokenizer.from_pretrained("sbintuitions/sarashina2-70b")
generator = pipeline("text-generation", model=model, tokenizer=tokenizer)

set_seed(123)
text = generator(
    "おはようございます、今日の天気は", 
    max_length=30, 
    do_sample=True, 
    pad_token_id=tokenizer.pad_token_id, 
    num_return_sequences=3,
)

for t in text:  
    print(t)

Breaking Down the Code: An Analogy

Think of using the Sarashina2-70B model like starting a new machine in a factory:

  • The AutoModelForCausalLM is the heavy machinery – it’s what does the hard work of generating text.
  • The AutoTokenizer is like the operator, converting raw input into a format the machine understands (i.e., tokens).
  • The pipeline is the assembly line, orchestrating how inputs are processed, and ensuring the machinery is used efficiently.
  • Setting the seed helps maintain consistency, just like calibrating the machine will ensure it produces the same results every time.
  • The final output is the finished product – the generated text!

Model Configuration

The Sarashina2-70B model offers a robust configuration, providing different parameters based on the model size. Here are the essential configurations for the variant you’d be using:

Parameters Vocab size Training tokens Architecture Position type Layers Hidden dim Attention heads
7B 102400 2.1T Llama2 RoPE 32 4096 32
13B 102400 2.1T Llama2 RoPE 40 5120 40
70B 102400 2.1T Llama2 RoPE 80 8192 64

Training Corpus

The model has been trained on a diverse range of data. For Japanese, it utilized a cleaned dataset from the Common Crawl corpus, while for English data, it specifically extracted documents from SlimPajama.

Tokenization Approach

The tokenizer used for Sarashina2 employs a sentencepiece tokenizer. You can input raw sentences directly into the tokenizer, simplifying the process for users.

Ethical Considerations

While powerful, the Sarashina2 model is not yet fine-tuned to follow instructions closely. Be cautious as it may produce outputs that are nonsensical or biased. It is recommended to adjust the model based on human preferences and safety considerations before deployment.

Troubleshooting Tips

Here are a few tips to assist if you encounter issues:

  • If you receive an error about missing packages, ensure you’ve installed all necessary libraries using pip.
  • Check if your environment has adequate memory allocated for model loading, especially for larger models.
  • If the text generation is not producing desired results, consider adjusting the max_length and do_sample parameters.

For more insights, updates, or to collaborate on AI development projects, stay connected with fxis.ai.

Conclusion

At fxis.ai, we believe that such advancements are crucial for the future of AI, as they enable more comprehensive and effective solutions. Our team is continually exploring new methodologies to push the envelope in artificial intelligence, ensuring that our clients benefit from the latest technological innovations.

Stay Informed with the Newest F(x) Insights and Blogs

Tech News and Blog Highlights, Straight to Your Inbox