devoppro commited on
Commit
8c75287
·
verified ·
1 Parent(s): 3082b3a

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +72 -0
  2. requirements .txt +6 -0
app.py ADDED
@@ -0,0 +1,72 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import spaces
2
+ import gradio as gr
3
+ import torch
4
+ from transformers import AutoModelForCausalLM, AutoTokenizer
5
+
6
+ MODEL_ID = "devoppro/FastLLM"
7
+
8
+ tokenizer = AutoTokenizer.from_pretrained(MODEL_ID)
9
+ model = AutoModelForCausalLM.from_pretrained(
10
+ MODEL_ID,
11
+ torch_dtype=torch.float16,
12
+ )
13
+ model.to("cuda")
14
+ model.eval()
15
+
16
+
17
+ @spaces.GPU(duration=30)
18
+ def generate(prompt, max_new_tokens, temperature, top_p):
19
+ inputs = tokenizer(prompt, return_tensors="pt").to("cuda")
20
+ with torch.no_grad():
21
+ output_ids = model.generate(
22
+ **inputs,
23
+ max_new_tokens=int(max_new_tokens),
24
+ do_sample=True,
25
+ temperature=float(temperature),
26
+ top_p=float(top_p),
27
+ pad_token_id=tokenizer.eos_token_id,
28
+ )
29
+ full_text = tokenizer.decode(output_ids[0], skip_special_tokens=True)
30
+ return full_text
31
+
32
+
33
+ with gr.Blocks(title="FastLLM (150M) Demo") as demo:
34
+ gr.Markdown(
35
+ """
36
+ # FastLLM (150M) — Modern Causal Language Model
37
+ A ~150M parameter decoder-only model (GQA, SwiGLU, RMSNorm, RoPE) from
38
+ [devoppro/FastLLM](https://huggingface.co/devoppro/FastLLM).
39
+ Small model, so expect small-model quality — this is a demo, not a chatbot.
40
+ """
41
+ )
42
+ with gr.Row():
43
+ with gr.Column():
44
+ prompt = gr.Textbox(
45
+ label="Prompt",
46
+ value="Once upon a time,",
47
+ lines=4,
48
+ )
49
+ max_new_tokens = gr.Slider(16, 512, value=128, step=16, label="Max new tokens")
50
+ temperature = gr.Slider(0.1, 1.5, value=0.7, step=0.05, label="Temperature")
51
+ top_p = gr.Slider(0.1, 1.0, value=0.95, step=0.05, label="Top-p")
52
+ run_btn = gr.Button("Generate", variant="primary")
53
+ with gr.Column():
54
+ output = gr.Textbox(label="Output", lines=12)
55
+
56
+ run_btn.click(
57
+ fn=generate,
58
+ inputs=[prompt, max_new_tokens, temperature, top_p],
59
+ outputs=output,
60
+ )
61
+
62
+ gr.Examples(
63
+ examples=[
64
+ ["Once upon a time,", 128, 0.7, 0.95],
65
+ ["The most important thing about machine learning is", 128, 0.7, 0.95],
66
+ ["def fibonacci(n):", 96, 0.5, 0.9],
67
+ ],
68
+ inputs=[prompt, max_new_tokens, temperature, top_p],
69
+ )
70
+
71
+ if __name__ == "__main__":
72
+ demo.queue().launch()
requirements .txt ADDED
@@ -0,0 +1,6 @@
 
 
 
 
 
 
 
1
+ spaces
2
+ gradio
3
+ torch
4
+ transformers
5
+ accelerate
6
+ safetensors