Views
No views yet
1import transformers
2import torch
3
4model_name = "OpenLLM-France/Claire-Mistral-7B-0.1"
5
6tokenizer = transformers.AutoTokenizer.from_pretrained(model_name)
7model = transformers.AutoModelForCausalLM.from_pretrained(model_name,
8 device_map="auto",
9 torch_dtype=torch.bfloat16,
10 load_in_4bit=True # For efficient inference, if supported by the GPU card
11)
12
13pipeline = transformers.pipeline("text-generation", model=model, tokenizer=tokenizer)
14generation_kwargs = dict(
15 num_return_sequences=1, # Number of variants to generate.
16 return_full_text= False, # Do not include the prompt in the generated text.
17 max_new_tokens=200, # Maximum length for the output text.
18 do_sample=True, top_k=10, temperature=1.0, # Sampling parameters.
19 pad_token_id=tokenizer.eos_token_id, # Just to avoid a harmless warning.
20)
21
22prompt = """\
23- Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
24- Bonjour Camille,\
25"""
26completions = pipeline(prompt, **generation_kwargs)
27for completion in completions:
28 print(prompt + " […]" + completion['generated_text'])- Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
- Bonjour Camille, […] je vous prépare un plat de saison, une daube provençale.
- Ah je ne connais pas cette recette.
- C'est très facile à préparer, vous n'avez qu'à mettre de l'eau dans une marmite, y mettre de l'oignon émincé, des carottes coupées en petits morceaux, et vous allez mettre votre viande de bœuf coupé en petits morceaux également.
- Je n'ai jamais cuisiné de viande de bœuf, mais c'est vrai que ça a l'air bien facile.
- Vous n'avez plus qu'à laisser mijoter, et ensuite il sera temps de servir les clients.
- Très bien.torch, transformers and accelerate (see requirements.txt).prompt = "Mesdames et messieurs les députés, chers collègues, bonsoir. Vous l'aurez peut-être remarqué, je cite rarement"1prompt = """\
2- Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
3- Bonjour Camille,\
4"""[Intervenant X:] where X is a number:1prompt = """\
2[Intervenant 1:] Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
3[Intervenant 2:] Bonjour Camille,\
4"""[SpeakerName:]
where SpeakerName can be a first name, a first and a last name, a nickname, a title…1prompt = """\
2[Mme Camille Durand:] Bonjour Dominique, qu'allez-vous nous cuisiner aujourd'hui ?
3[Mr. Dominique Petit:] Bonjour Camille,\
4"""| Data type | Words | Training Sampling Weight | Sources |
|---|---|---|---|
| Parliamentary Proceedings | 135M | 35% | Assemblée Nationale |
| Theatre | 16M | 18% | Théâtre Classique, Théâtre Gratuit |
| Interviews | 6.4M | 29% | TCOF, CFPP, CFPB (ORFEO), ACSYNT, PFC, Valibel (ORFEO), ESLO |
| Free Conversations | 2.2M | 10% | CRFP (ORFEO), OFROM (ORFEO), CID, Rhapsodie, ParisStories, PFC, CLAPI, C-ORAL-ROM (ORFEO), LinTO, ESLO |
| Meetings | 1.2M | 5% | SUMM-RE, LinTO, Réunions de travail (ORFEO) |
| Debates | 402k | <2% | FREDSum, ESLO |
| Assistance | 159k | <1% | Fleuron (ORFEO), Accueil UBS, OTG, ESLO |
| Presentation, Formal Address | 86k | <0.5% | Valibel (ORFEO), LinTO, ESLO |
| Hyperparameter | Value |
|---|---|
| Precision | bfloat16 |
| Optimizer | AdamW |
| Learning rate | 1e-4 |
| Weight decay | 1e-2 |
| Batch size | 128 |
| LoRA rank | 16 |
| LoRA alpha | 32 |
| Dropout | 0.05 |
| gradient clipping | 1 |