Cartão de modelo para Mixtral-8x7B Uma mistura esparsa de peritos de alta qualidade.

O Mixtral-8x7B Large Language Model (LLM) é uma mistura esparsa generativa pré-treinada de especialistas. O Mixtral-8x7B supera o Llama 2 70B na maioria dos benchmarks que testámos.

Para mais informações sobre este modelo, leia a nossa publicação no blogue de lançamento.

imagem 15

Este repositório contém pesos que são compatíveis com vLLM servir a modelo, bem como a Cara de Abraço transformadores biblioteca. Baseia-se na biblioteca Mixtral original lançamento de torrentmas o formato do ficheiro e os nomes dos parâmetros são diferentes. Tenha em atenção que o modelo não pode (ainda) ser instanciado com HF.

imagem 14

Este formato deve ser rigorosamente respeitado, caso contrário o modelo produzirá resultados não optimizados.

O modelo utilizado para criar um prompt para o modelo Instruct é definido da seguinte forma:

 [INST] Instrução [/INST] Resposta modelo [INST] Instrução de seguimento [/INST]

Note-se que  e  são tokens especiais para início de cadeia (BOS) e fim de cadeia (EOS), enquanto [INST] e [/INST] são cadeias regulares.

Como referência, aqui está o pseudo-código usado para tokenizar instruções durante o ajuste fino:

def tokenize(text):
    return tok.encode(text, add_special_tokens=False)

[BOS_ID] +
tokenize("[INST]") + tokenize(USER_MESSAGE_1) + tokenize("[/INST]") +
tokenize(BOT_MESSAGE_1) + [EOS_ID] +
...
tokenize("[INST]") + tokenize(USER_MESSAGE_N) + tokenize("[/INST]") +
tokenize(BOT_MESSAGE_N) + [EOS_ID]

No pseudo-código acima, observe que o tokenizar não deve adicionar automaticamente um símbolo BOS ou EOS, mas deve adicionar um espaço de prefixo.

from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id)

model = AutoModelForCausalLM.from_pretrained(model_id)

text = "Olá, o meu nome é"
inputs = tokenizer(text, return_tensors="pt")

outputs = model.generate(**inputs, max_new_tokens=20)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

Por defeito, os transformadores carregam o modelo com precisão total. Por conseguinte, poderá estar interessado em reduzir ainda mais os requisitos de memória para executar o modelo através das optimizações que oferecemos no ecossistema HF:

Em meia-precisão

Nota flutuante16 a precisão só funciona em dispositivos GPUClique para expandir

Menor precisão utilizando (8-bit & 4-bit) utilizando bits e bytes

Clique para expandir

Carregar o modelo com o Flash Attention 2

Clique para expandir

O modelo Mixtral-8x7B Instruct é uma demonstração rápida de que o modelo de base pode ser facilmente ajustado para obter um desempenho atraente. Não possui quaisquer mecanismos de moderação. Estamos ansiosos por colaborar com a comunidade para encontrar formas de tornar o modelo mais adequado, permitindo a implementação em ambientes que exigem resultados moderados.

A equipa de IA da Mistral

Albert Jiang, Alexandre Sablayrolles, Arthur Mensch, Blanche Savary, Chris Bamford, Devendra Singh Chaplot, Diego de las Casas, Emma Bou Hanna, Florian Bressand, Gianna Lengyel, Guillaume Bour, Guillaume Lample, Lélio Renard Lavaud, Louis Ternon, Lucile Saulnier, Marie-Anne Lachaux, Pierre Stock, Teven Le Scao, Théophile Gervet, Thibaut Lavril, Thomas Wang, Timothée Lacroix, William El Sayed.

pt_PTPortuguese