i-like-flan-ul2 / app.py
kashif's picture
kashif HF staff
fixed labels
416c841
raw
history blame
3.07 kB
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="google/flan-ul2", 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})
examples = [
["Please answer to the following question. Who is going to be the next Ballon d'or?"],
["Q: Can Barack Obama have a conversation with George Washington? Give the rationale before answering."],
["Summarize the following text: Peter and Elizabeth took a taxi to attend the night party in the city. While in the party, Elizabeth collapsed and was rushed to the hospital. Since she was diagnosed with a brain injury, the doctor told Peter to stay besides her until she gets well. Therefore, Peter stayed with her at the hospital for 3 days without leaving."],
["Please answer the following question: What is the boiling point of water?"],
["Answer the following question by detailing your reasoning: Are Pokemons alive?"],
["Translate to German: How old are you?"],
["Generate a cooking recipe to make bolognese pasta:"],
["Answer the following yes/no question by reasoning step-by-step. Can you write a whole Haiku in a single tweet?"],
["Premise: At my age you will probably have learnt one lesson. Hypothesis: It's not certain how many lessons you'll learn by your thirties. Does the premise entail the hypothesis?"],
["Answer the following question by reasoning step by step. The cafeteria had 23 apples. If they used 20 for lunch and bought 6 more, how many apples do they have?"],
["""Q: Roger has 5 tennis balls. He buys 2 more cans of tennis balls. Each can has 3 tennis balls. How many tennis balls does he have now?
A: Roger started with 5 balls. 2 cans of 3 tennis balls each is 6 tennis balls. 5 + 6 = 11. The answer is 11.
Q: A juggler can juggle 16 balls. Half of the balls are golf balls, and half of the golf balls are blue. How many blue golf balls are there?"""]
]
title = "Flan UL2 and Vanilla T5"
description = "This demo compares [T5-large](https://huggingface.co/t5-large) and [Flan-UL2](https://huggingface.co/google/flan-ul2). Note that T5 expects a very specific format of the prompts, so the examples below are not necessarily the best prompts to compare. This demo is highly inspired from the ['I like Flan' demo](https://huggingface.co/spaces/osanseviero/i-like-flan)"
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 UL2"),
gr.Textbox(lines=3, label="Flan T5")
],
title=title,
description=description,
examples=examples
)
io.launch()