Parameters van LLM
Net als elke machine learning-model, hebben grote taalmodellen verschillende parameters die de variantie van de gegenereerde tekstuitvoer controleren. We hebben een meerdelige reeks begonnen om de impact van deze parameters in detail uit te leggen. We zullen afsluiten door de perfecte balans te vinden in contentgeneratie door gebruik te maken van alle deze parameters die we in onze meerdelige reeks hebben besproken.
Welkom bij de eerste deel, waar we over de best bekende parameter, “Temperatuur,” spreken.
Temperatuur
Als het doel is de randomheid van de voorspellingen te controleren, dan is temperatuur de juiste keuze voor u. Lage temperatuurwaarden maken de uitvoer meer bepaald, terwijl hoge waarden meer creatief zijn door een diversiteit aan uitkomsten toe te staan.
Laten we nu de temperatuur in actie zien door middel van het volgende code en uitvoer. Om de belangrijkheid simpel te presenteren, hebben we gekozen om hugging face transformers en het GPT2-model in het bijzonder te gebruiken.
import torch
from transformers import GPT2LMHeadModel, GPT2Tokenizer
# Load GPT-2 model and tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
# Add pad token to tokenizer (GPT-2 doesn't have it by default)
tokenizer.pad_token = tokenizer.eos_token
# Function to generate response with varying temperature
def generate_with_temperature(prompt, temperature):
inputs = tokenizer(prompt, return_tensors='pt', padding=True)
# Set the attention_mask and pad_token_id
outputs = model.generate(
inputs.input_ids,
attention_mask=inputs['attention_mask'],
do_sample=True,
max_length=200,
temperature=temperature,
pad_token_id=tokenizer.eos_token_id
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
#Prompt on which we get the content generated based on temperature
prompt = "What are some of the best strategies within NFL Fantasy"
# Test temperature variations
print("Temperature 0.3 (Less deterministic but coherent):\n", generate_with_temperature(prompt, temperature=0.3))
print("\nTemperature 0.5 (Balanced):\n", generate_with_temperature(prompt, temperature=0.5))
print("\nTemperature 0.9 (More creative):\n", generate_with_temperature(prompt, temperature=0.9))
Uitvoer:
python test_temperature.py
Temperature 0.3 (Less deterministic but coherent):
What are some of the best strategies within NFL Fantasy Football?
I've seen a lot of great strategies for predicting the next NFL season. I've seen great strategies for predicting the next NFL season.
I've seen a lot of great strategies for predicting the next NFL season. I've seen great strategies for predicting the next NFL season.
I've seen a lot of great strategies for predicting the next NFL season. I've seen great strategies for predicting the next NFL season.
I've seen a lot of great strategies for predicting the next NFL season. I've seen great strategies for predicting the next NFL season.
I've seen a lot of great strategies for predicting the next NFL season. I've seen great strategies for predicting the next NFL season.
I've seen a lot of great strategies for predicting the next NFL season. I've seen great strategies for predicting the next NFL season.
I've seen a lot of great strategies for predicting the next
Temperature 0.5 (Balanced):
What are some of the best strategies within NFL Fantasy Football?
1. Pick up the first pick and use it to draft a QB
In the past, I've mentioned that I tend to pick up the first pick in the first round. The best way to pick up the first pick is to take the first pick and then use it to draft a QB. I find that the more I draft the QB, the more I draft the QB. This is why I like to draft the first pick in the first round.
2. Draft a QB for the first time
This is an important one, but it's not the only one. Drafting a QB for the first time is a great way to start your fantasy season.
3. Draft a QB for the first time
This is the most important one. Drafting a QB for the first time is the most important one. Drafting a QB for the first time is the most important one.
Temperature 0.9 (More creative):
What are some of the best strategies within NFL Fantasy?
If you are looking for players that will be good for you, here is an updated list of key stats, which you can find on our official website:
All players were ranked in the top 10 fantasy players. These players are all high-rated defensive backs or running backs with good play across all phases of their careers. The players above were ranked from 5-5 for total points scored.
The chart below will allow you to visualize the players in your league.
All players have 5.5 sacks, 5 sacks and 2.5 tackles for loss on the season. They have a combined 11.3 sacks with a 4.6, 1.6 and 2.1 yards per carry average, respectively.
Each player has three touchdowns. The three touchdowns are tied for the top five fantasy points with 3 points in an entire game. The three touchdowns are tied for the top ten points with 2 points
Laat ons de uitvoer begrijpen:
- Lage Temperatuur (0.3): Het model zal focus plaatsen op de meest waarschijnlijke woordkeuzes. Als precision en consistentie belangrijk zijn voor u, dan kunt u de temperatuur in dit bereik geven. Onthoud echter dat het model mogelijk vast zal komen te zitten met het herhalen van gelijke frases, zoals het geval is met onze uitvoer hier.
- Middelbare Temperatuur (0.5): Deze temperatuur biedt een perfectevenwicht tussen coherente en creatieve output. Het is een uitstekende middelingsituatie als u een redelijk aantal variaties wilt zonder structuur te verliezen. Zoals u in het resultaat kunt zien, is er een klein evenwicht toegevoegd, maar er is nog steeds wat herhaling te zien in het resultaat.
- Hoge Temperatuur (0.9): Deze temperatuur zorgt ervoor dat de LLM zo creatief mogelijk is. Zoals u kunt zien, verschilt dit resultaat van de twee voorgaande, door veel willekeurigheid en verscheidenheid in de inhoud te brengen.
Het bovenstaande voorbeeld stelt een fundamentele verstaanis van temperatuur. Laten we nu diezelfde ideeën nu in detail bekijken met enkele gebruiksgevallen: “Creatieve Verhaalproductie” en “Technische Explicatie.”
Bekijk dit nu met het volgende code voor een begrip hoe de temperatuur de bovenstaande twee gebruiksgevallen beïnvloedt.
import torch
from transformers import GPT2LMHeadModel, GPT2Tokenizer
# Load GPT-2 model and tokenizer
tokenizer = GPT2Tokenizer.from_pretrained("gpt2")
model = GPT2LMHeadModel.from_pretrained("gpt2")
# Add pad token to tokenizer (GPT-2 doesn't have it by default)
tokenizer.pad_token = tokenizer.eos_token
# Function to generate response based on temperature
def generate_with_temperature(prompt, temperature, max_length=200):
inputs = tokenizer(prompt, return_tensors='pt', padding=True)
outputs = model.generate(
inputs.input_ids,
attention_mask=inputs['attention_mask'],
do_sample=True,
max_length=max_length,
temperature=temperature, # Only focusing on temperature
pad_token_id=tokenizer.eos_token_id
)
return tokenizer.decode(outputs[0], skip_special_tokens=True)
### USE CASE 1: CREATIVE STORY GENERATION ###
def creative_story_generation():
prompt = "Once upon a time, in a distant galaxy, there was a spaceship called Voyager."
# Negative Impact: Low temperature for creative writing (too deterministic, repetitive)
print("\n=== Creative Story with Low Temperature (0.2) - Negative Impact: ===")
low_temp_story = generate_with_temperature(prompt, temperature=0.2)
print(low_temp_story)
# Perfect Impact: High temperature for creative writing (more creative and varied)
print("\n=== Creative Story with High Temperature (0.9) - Perfect Impact: ===")
high_temp_story = generate_with_temperature(prompt, temperature=0.9)
print(high_temp_story)
### USE CASE 2: TECHNICAL EXPLANATION ###
def technical_explanation():
prompt = "Explain how blockchain works in simple terms."
# Negative Impact: High temperature for technical writing (too creative, inaccurate)
print("\n=== Technical Explanation with High Temperature (0.9) - Negative Impact: ===")
high_temp_explanation = generate_with_temperature(prompt, temperature=0.9)
print(high_temp_explanation)
# Perfect Impact: Optimal temperature for technical writing (accurate and focused)
print("\n=== Technical Explanation with Adjusted Temperature (0.7) - Perfect Impact: ===")
perfect_temp_explanation = generate_with_temperature(prompt, temperature=0.7)
print(perfect_temp_explanation)
# Run both use cases
creative_story_generation()
technical_explanation()
Uitvoer:
python temperature_impact.py
=== Creative Story with Low Temperature (0.2) - Negative Impact: ===
Once upon a time, in a distant galaxy, there was a spaceship called Voyager. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been brought back from the dead by the gods. It was a spaceship that had been
=== Creative Story with High Temperature (0.9) - Perfect Impact: ===
Once upon a time, in a distant galaxy, there was a spaceship called Voyager. The ship seemed to have been flying in space as well, like the spaceship in the movie "The Voyage Home". The Captain of the Voyager was Captain Jean-Luc Picard.
In the Star Trek movies, this is true. But in the movie, on Voyager, our hero is not Jean-Luc Picard. Jean-Luc, the villain, has no desire to lead us to vengeance against the dying star.
But what about Star Trek VI: The Undiscovered Country…
In a scene that's been in development for years (one you'll almost certainly see in an upcoming Star Trek film), in the middle of the movie (one you won't see until later in the film), we see that Picard is no longer in the Star Trek universe as is the story, to be played by the same actor who played Lieutenant Dax (who was in the movie), but Picard himself.
=== Technical Explanation with High Temperature (0.9) - Negative Impact: ===
Explain how blockchain works in simple terms.
Blockchain can be used to determine if the system is trustworthy and to prevent fraud, even if the system is used in a completely different manner. Blockchain can also be used to help determine how the system is run and to ensure that its operation is efficient.
This way all your trust in the system can be verified by your actions, and you can have full control over it. When you are not trusting a computer, it can be easy to get a hold of a server and then just change the software, allowing you to control and monitor transactions with the help of the blockchain. If your business uses distributed storage then it is easy to have more control over your activities.
What do I need to understand about blockchain?
To understand how blockchain works and how you can use it properly, you must first understand how blockchain works.
Bitcoins are digital tokens, created at the start of each generation that are used to
=== Technical Explanation with Adjusted Temperature (0.7) - Perfect Impact: ===
Explain how blockchain works in simple terms.
What are the key differences between Bitcoin and Ethereum?
Blockchain is a cryptographic protocol. It can be used to create any type of transaction. It is used to store data and create new entities. It is used as a system of communication in blockchain systems.
In Ethereum, the transaction is recorded, stored, and used to perform the transaction. It is a way to transfer information. The transaction is called a "blockchain."
Since the blockchain is used for many things, it is easy to understand how the technology works. The most important difference is that Ethereum uses the blockchain to create an interface to the Internet of Things. It is this interface that allows for data exchange and the creation of new entities.
Because of this, it is possible to perform the transactions on the blockchain. So, what is the difference between Bitcoin and Ethereum?
The Bitcoin and Ethereum blockchain is a distributed ledger.
Nu zal de uitvoer worden verbroken en geanalyseerd voor creatieve verhaalproductie en technische uitleg op basis van de temperatuursinstellingen en hoe de uitvoer daardoor beïnvloed werd. We zullen ook observeren hoe een temperatuursinstelling perfect werkt voor één gebruiksgeval en het exacte tegenovergestelde doet voor het andere.
Creatieve Verhaalproductie
- Lage Temperatuur (Negatief Effect):Zoals u kunt zien, is de verhaaluitvoer zeer herhalend en ontbreekt er variatie. Dit resultaat is niet ontspannend voor een creatieve taak en de extreme herhaling die door de onmogelijkheid van het model om nieuwe en innovatieve ideeën te introduceren wordt veroorzaakt, maakt het onvoldoende voor verhalenvertelling.
- Hoge Temperatuur (Perfect Impact): Zoals u ziet uit de uitvoer, neemt de verhaal interessante richtingen in en is het erg creatief. De uitvoer voegt ook meerdere aspecten aan het verhaal toe, wat ermee variant en verbeeldingskracht krijgt, en perfect is voor innovatieve verhalenvertelling.
Technische Explicatie
- Hoge Temperatuur (Negatieve Impact): Het is belangrijk te onthouden dat het behouden van feitelijke nauwkeurigheid erg belangrijk is voor een toepassing zoals een technische verklaring. Hoge temperatuur leidt tot veel willekeurigheid en minder waarschijnlijke woorden die worden ingevoegd in het gegenereerde content, wat ontevredenstellend is voor technische schrijven. Hetzelfde kan ook worden afgeleid uit de bovenstaande uitvoer dat het te vage is en on relevante ideeën bevat.
- Gepaste Temperatuur (Perfect Impact): We hebben de temperatuur aangepast tot een instelling die een perfectevenwicht vindt voor het genereren van technische content. Zoals u ziet, is de uitvoer veel meer gesorteerd nu. Op deze temperatuursinstelling vermijdt de model reproductiviteit zoals die optreedt bij lagere temperaturen en verliest het geen coherente structuur zoals bij hogere temperaturen.
Conclusie
U hebt alle manieren gezien waarin temperatuur de contentgeneratie kan beïnvloeden en welke temperatuursinstelling perfect is voor welke toepassing. Merk ook op dat het aanpassen van de temperatuur niet het allesbepalende is van contentgeneratie; u zult ook andere parameters moeten aanpassen. We zullen over alles dat in de komende artikelen in de reeks kijken.
Source:
https://dzone.com/articles/decoding-llm-parameters-temperature