Skip to main content

👨🏻‍🏫 Inference

xTuring is easy to use. The library already loads the best parameters for each model by default.

For advanced usage, you can customize the generation_config attribute of the model object.

In this tutorial, we will be loading one of the supported models and customizing it's generation configuration before running inference.

Load the model​

First, we need to load the model we want to use.

from xturing.models import BaseModel
model = BaseModel.create("")

Load the config object​

Next, we need to fetch model's generation configuration using the below command.

generation_config = model.generation_config()

We can print the generation_config object to check the default configuration.

Customize the configuration​

Now, we can customize the generation configuration as we wish. All the customizable parameters are list below.

generation_config.max_new_tokens = 256

Test the model​

Lastly, we can run inference using the below command to see how our set configuration works.

output = model.generate(texts=["Why are the LLM models important?"])

We can print the output object to see the results.

Parameters​

NameTypeRangeDefaultDesription
max_new_tokensint≥1256The maximum numbers of tokens to generate, ignoring the number of tokens in the prompt.
penalty_alphaint[0,1)0.6For contrastive search decoding. The values balance the model confidence and the degeneration penalty.
top_kfloat≥04For contrastive search and sampling decoding method. The number of highest probability vocabulary tokens to keep for top-k-filtering.
do_samplebool{true, false}falseWhether or not to use sampling.
top_pfloat≥00For sampling decoding method. If set to float < 1, only the smallest set of most probable tokens with probabilities that add up to top_p or higher are kept for generation.