import os import gradio as gr import torch import numpy as np from transformers import pipeline import torch print(f"Is CUDA available: {torch.cuda.is_available()}") print(f"CUDA device: {torch.cuda.get_device_name(torch.cuda.current_device())}") pipe_flan = pipeline("text2text-generation", model="philschmid/flan-t5-xxl-sharded-fp16", model_kwargs={"load_in_8bit":True, "device_map": "auto"}) pipe_vanilla = pipeline("text2text-generation", model="t5-large", device="cuda:0", model_kwargs={"torch_dtype":torch.bfloat16}) title = "Flan T5 and Vanilla T5" description = "This demo compares [T5-large](https://huggingface.co/t5-large) and [Flan-T5-XX-large](https://huggingface.co/google/flan-t5-xxl). Note that T5 expects a very specific format of the prompts, so the examples below are not necessarily the best prompts to compare." def inference(text): output_flan = pipe_flan(text, max_length=100)[0]["generated_text"] output_vanilla = pipe_vanilla(text, max_length=100)[0]["generated_text"] return [output_flan, output_vanilla] io = gr.Interface( inference, gr.Textbox(lines=3), outputs=[ gr.Textbox(lines=3, label="Flan T5"), gr.Textbox(lines=3, label="T5") ], title=title, description=description, examples=examples ) io.launch()