

These are notes on how I managed to get StarCoderBase-1B-SFT model compiled into a quantized version such that it can run locally on my MBP M1 Pro and be queryable through an OpenAI API-compatible server. [StarCoderBase][1] is a model trained/tuned for programming tasks. The [1B parameters SFT model][2] I am using in this article is a version of the model that has had supervised fine tuning applied to it. I am just going to call this "StarCoder" in the rest of this article for the sake of simplicity. Number of parameters that a model has is going to impact resource usage, so a smaller version of the model makes it more
Let's assume that you can run your web server on your own computer, and that you can open it in your own browser (through localhost
or 127.0.0.1
). This guide will go through the steps of putting that app online!
This guide will be based on a hello world sample project that uses Genie.jl
, but the steps from this guide apply to any Julia web framework.
heroku has tons of features, but for a simple app, we only need the basics. In particular, we do not need the heroku command line, we can do everything through the online GUI.
heroku uses git for deployment: to package your app, you create a git repository, and to put a new version of your app online, you push to the git repository. If you already know git, then you now know how to manage a web server! It's like GitHub pages, but more powerful (and more complicated). Read heroku's introduction for a basi
cipherText = "KUHPVIBQKVOSHWHXBPOFUXHRPVLLDDWVOSKWPREDDVVIDWQRBHBGLLBBPKQUNRVOHQEIRLWOKKRDD" | |
println("Begin to decrypt cipher text: ", cipherText) | |
#https://en.wikipedia.org/wiki/Letter_frequency | |
frequencies = Dict( "A" => 8.167, | |
"B" => 1.492, | |
"C" => 2.782, | |
"D" => 4.253, | |
"E" => 12.702, |
[package] | |
name = "test" | |
version = "0.1.0" | |
authors = ["YOU <[email protected]>"] | |
edition = "2018" | |
[lib] | |
crate-type = ["cdylib"] |
TL|DR: Use this to easily deploy a FastAI Python model using NodeJS.
You've processed your data and trained your model and now it's time to move it to the cloud.
If you've used a Python-based framework like fastai to build your model, there are several excellent solutions for deployment like Django or Starlette. But many web devs prefer to work in NodeJS, especially if your model is only part of a broader application.
My friend Navjot pointed out that NodeJS and Python could run together if we could send remote procedure calls from NodeJS to Python.
import argparse | |
import sys | |
import os | |
import json | |
import logging | |
import requests | |
from PIL import Image | |
################### INSTALLATION NOTE ####################### | |
############################################################## |
import os | |
import glob | |
import pandas as pd | |
import xml.etree.ElementTree as ET | |
def xml_to_csv(path): | |
xml_list = [] | |
for xml_file in glob.glob(path + '/*.xml'): | |
tree = ET.parse(xml_file) |
def generate(label): | |
( | |
bbox_xmin, | |
bbox_ymin, | |
bbox_xmax, | |
bbox_ymax, | |
img_width, | |
img_height | |
) = ( | |
label.get('xmin'), |