transformers jax gptj text-generation pytorch causal-lm aphra apoca dataset:APHRA76/pile license:apache-2.0 autotrain_compatible endpoints_compatible region:us
---
datasets:
- APHRA76/pile
library_name: transformers
license: apache-2.0
tags:
- pytorch
- causal-lm
- aphra
- apoca
---
# APHRA 6B

## Description du modèle

APHRA 6B est un modèle de transformateur entraîné en utilisant le [Mesh Transformer JAX](https://github.com/kingoflolz/mesh-transformer-jax) de Ben Wang. "APHRA 6B" fait référence à la classe du modèle, tandis que "6B" représente le nombre de paramètres entraînables.

Hyperparamètres :

- **n_parameters** : 6 053 381 344
- **n_layers** : 28*
- **d_model** : 4096
- **d_ff** : 16 384
- **n_heads** : 16
- **d_head** : 256
- **n_ctx** : 2048
- **n_vocab** : 50 257 / 50 400† (même tokenizer que GPT-2/3)
- **Dimensions RoPE** : 64

\* Chaque couche est composée d'un bloc feedforward et d'un bloc d'attention.

† Bien que la matrice d'embeddings ait une taille de 50 400, seuls 50 257 éléments sont utilisés par le tokenizer GPT-2.

Le modèle comprend 28 couches avec une dimension de modèle de 4 096 et une dimension feedforward de 16 384. La dimension du modèle est répartie en 16 têtes, chacune ayant une dimension de 256. L'encodage Rotary Position Embedding (RoPE) est appliqué à 64 dimensions de chaque tête. Le modèle est entraîné avec un vocabulaire de tokenisation de 50 257, en utilisant le même jeu de BPEs que GPT-2/GPT-3.

## Utilisation prévue et limitations

APHRA apprend une représentation interne de la langue, qui peut être utilisée pour extraire des caractéristiques utiles pour des tâches en aval. Cependant, le modèle est le plus performant pour ce pour quoi il a été pré-entraîné, c'est-à-dire la génération de texte à partir d'une invite.

### Utilisation hors du cadre prévu

APHRA-6B n'est **pas** destiné à être déployé sans un fine-tuning, une supervision et/ou une modération. Ce n'est pas un produit en soi et il ne peut pas être utilisé pour des interactions directes avec les utilisateurs. Par exemple, le modèle peut générer des textes nuisibles ou offensants. Veuillez évaluer les risques liés à votre cas d'utilisation particulier.

APHRA-6B a été entraîné uniquement sur des données en anglais et n'est donc **pas** adapté à la traduction ou à la génération de texte dans d'autres langues.

APHRA-6B n'a pas été fine-tuné pour des contextes en aval dans lesquels les modèles de langage sont couramment déployés, comme l'écriture de prose ou les chatbots commerciaux. Cela signifie que APHRA-6B **ne** répondra pas à une invite donnée de la manière dont un produit tel que ChatGPT le ferait. En effet, contrairement à ce modèle, ChatGPT a été fine-tuné en utilisant des méthodes telles que l'apprentissage par renforcement avec feedback humain (RLHF) pour mieux "suivre" les instructions humaines.

### Limitations et biais

La fonctionnalité principale de APHRA est de prendre une chaîne de texte et de prédire le prochain token. Bien que les modèles de langage soient largement utilisés pour d'autres tâches, beaucoup d'inconnues subsistent avec ce travail. Lors de l'utilisation de APHRA, il est important de se rappeler que le prochain token statistiquement le plus probable n'est souvent pas celui qui produit le texte le plus "exact". Ne comptez jamais sur APHRA pour produire des résultats factuellement précis.

APHRA a été entraîné sur le Pile, un jeu de données connu pour contenir des jurons, des propos grossiers et d'autres contenus offensants. Selon le cas d'utilisation, APHRA peut produire un texte socialement inacceptable.

Comme pour tous les modèles de langage, il est difficile de prévoir à l'avance comment APHRA répondra à des prompts particuliers, et des contenus offensants peuvent apparaître sans avertissement. Nous recommandons qu'un humain modère ou filtre les résultats avant leur publication, à la fois pour censurer les contenus indésirables et pour améliorer la qualité des résultats.

### Comment l'utiliser

Ce modèle peut être facilement chargé en utilisant la fonctionnalité `AutoModelForCausalLM` :

```python
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("APHRA76/aphra-6b")
model = AutoModelForCausalLM.from_pretrained("APHRA76/aphra-6b")