ONNX Unleashed: Training and Optimizing BERT Models for Streamlit Web Apps
Last Updated on February 1, 2024 by Editorial Team
Author(s): Marcello Politi
Originally published on Towards AI.
Learn to quantize and deploy your Deep Learning model with ONNX
Photo by 愚木混株 cdd20 on Unsplash
In this article, I want to accomplish something very simple: build a web app that recognizes an emotion given a sentence. In doing this though we will see how to train a transformer-based model, convert it to ONNX format, quantize it, and run it from the frontend using Streamlit.
You can tun the following scripts using Deepnote: a cloud-based notebook that’s great for collaborative data science projects, and good for prototyping.
Optimizing the model with techniques such as quantization may be a good idea if we can maintain good performance, as it will improve the response speed, and we can create a product with lower latency and ensure greater user satisfaction.
We use a BERT-based model for emotion detection: anger, fear, joy, love, sadness, and surprise.
This is a model released by Microsoft, which is a distilled version of BERT.
model: https://huggingface.co/microsoft/xtremedistil-l6-h256-uncaseddataset: https://huggingface.co/datasets/dair-ai/emotion
We will heavily use the hugging face APIs to train this model on this dataset.
Let’s start by installing the needed libraries. We are going to use a lot of the transformers and ONNX ones.
!pip install transformers[torch]!pip install datasets onnx onnxruntime !pip install accelerate -U
All the imports we need:
from datasets import load_datasetfrom transformers import AutoTokenizerimport torchfrom transformers import AutoModelForSequenceClassificationimport… Read the full blog for free on Medium.
Join thousands of data leaders on the AI newsletter. Join over 80,000 subscribers and keep up to date with the latest developments in AI. From research to projects and ideas. If you are building an AI startup, an AI-related product, or a service, we invite you to consider becoming a sponsor.
Published via Towards AI
Towards AI Academy
We Build Enterprise-Grade AI. We'll Teach You to Master It Too.
15 engineers. 100,000+ students. Towards AI Academy teaches what actually survives production.
Start free — no commitment:
→ 6-Day Agentic AI Engineering Email Guide — one practical lesson per day
→ Agents Architecture Cheatsheet — 3 years of architecture decisions in 6 pages
Our courses:
→ AI Engineering Certification — 90+ lessons from project selection to deployed product. The most comprehensive practical LLM course out there.
→ Agent Engineering Course — Hands on with production agent architectures, memory, routing, and eval frameworks — built from real enterprise engagements.
→ AI for Work — Understand, evaluate, and apply AI for complex work tasks.
Note: Article content contains the views of the contributing authors and not Towards AI.