Skip to content

Instantly share code, notes, and snippets.

View brandon-lockaby's full-sized avatar

Brandon Lockaby brandon-lockaby

View GitHub Profile
@silphendio
silphendio / exl_slice_test.py
Last active February 15, 2024 23:55
Create LLM slices at runtime with exllamav2
# to use this, first install python and exllamav2 (https://github.com/turboderp/exllamav2)
# load a model, rearrange the layers as you like, set generation parameters, and run it
# duplicate layers share tensors, but still need extra memory for the cache
# thanks to @dnhkng for showing that the cache needs to be re-created
# licensed under WTFPL (http://www.wtfpl.net/about/) - Silphendio
from exllamav2 import *
from exllamav2.generator import *
import sys, torch
@younesbelkada
younesbelkada / bnb-serialization.py
Created December 25, 2023 18:10
push bnb 4 bit models on the hub
# pip install -U bitsandbytes
# pip install -U git+https://github.com/huggingface/transformers.git
from transformers import AutoModelForCausalLM, AutoTokenizer
model_id = "mistralai/Mixtral-8x7B-Instruct-v0.1"
path_to_hub = XXX
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(model_id, load_in_4bit=True)
model.push_to_hub(path_to_hub)
@thistleknot
thistleknot / dataset_distillation.py
Last active December 6, 2023 05:19
Dataset Distillation v3
import torch
import torch.nn.functional as F
from transformers import GPTNeoForCausalLM, AutoTokenizer
from datasets import load_dataset
from sklearn.model_selection import train_test_split
import pandas as pd
import numpy as np
import random
# Parameters
@sekstini
sekstini / KVCacheFun.ipynb
Last active November 28, 2023 10:12
Answering what happens when you give the KV-Cache of an instruct model to its base model. (update: better version in the comments)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
@thistleknot
thistleknot / tensorboard.py
Last active December 5, 2023 07:18
tensorboard with ema embeddings
#!/usr/bin/env python
# coding: utf-8
import lade
from transformers import AutoTokenizer, AutoModel
import torch
lade.augment_all()
lade.config_lade(LEVEL=5, WINDOW_SIZE=7, GUESS_SET_SIZE=7, DEBUG=0)
from datasets import load_dataset
from torch.utils.tensorboard import SummaryWriter
@pszemraj
pszemraj / snapshot_download.py
Created May 7, 2023 20:01
snapshot_download from sentence transformers - download model repos without git
# pip install transformers
from fnmatch import fnmatch
from pathlib import Path
from typing import Dict, List, Optional, Union
from packaging import version
import os
from huggingface_hub import HfApi, HfFolder, cached_download, hf_hub_url
import huggingface_hub
@slowpeek
slowpeek / nvidia-smi
Last active May 5, 2024 20:21
nvidia-smi dmon adapter: 525, 530, 535, 545
#!/usr/bin/env bash
# MIT license (c) 2022-2024 https://github.com/slowpeek
# Homepage: https://gist.github.com/slowpeek/006680bb06e671bc489d4a3274ff3d19
: <<'README'
Applicable nvidia driver versions: 525, 530, 535, 545, 550
ABOUT --
# ##### BEGIN GPL LICENSE BLOCK #####
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@benfoxall
benfoxall / generate.sh
Last active March 31, 2022 15:15
Generate video of satellite imagery
# Extract frames from GEOS Image Viewer to generate a video
# https://www.star.nesdis.noaa.gov/goes/fulldisk_band.php?sat=G16&band=GEOCOLOR&length=12&dim=1
mkdir -p images output
BASE=https://cdn.star.nesdis.noaa.gov/GOES16/ABI/FD/GEOCOLOR/
DIM=1808x1808
curl $BASE \
| grep -o -e "\".*GEOCOLOR-$DIM.jpg\"" \
@Nerixyz
Nerixyz / tiktok.js
Created October 20, 2020 21:21
hackerCD - intercept canvas calls
function wrapObject(fn, that, args, name) {
const instance = fn.apply(that, args);
instance.__base = instance;
return new Proxy(instance, {
get: (target, key) => {
if(!['__base'].includes(key)) console.log(`[GET] ${name}.${key}`);
const value = target[key];
return value;
},
set: (target, key, value) => {