2,185 karma · joined September 12, 2019
These days I mostly do r&d for custom sensors, custom hardware and firmware to drive them, data analysis, physics simulations, etc.
Mostly using c#, f#, python, fortran, c, verilog
https://winaero.com/avif-support-is-now-available-in-microso...
You can find most popular models converted for you on huggingface.co if you add exl2 to your search and start with the 4 bit quantized version. Don't bother going above 6 bits even if you have spare vram, practically it doesn't offer much benefit.
For reference I max out around 60 tok/s at 4bit, 50 tok/s at 5bit, 40 at 6bit for some random 7b parameter model on a rtx 2070.
After more testing, I think it's a toss up on most coding tasks but Magicoder tends to give subjectively better responses to "bad prompts". That is, prompts where you don't put effort into writing clear instructions. For example, one of my "bad prompt" tests is
> how to enable shared gpu memory in wsl2 docker container
A good response to this would discuss the nvidia container toolkit, maybe something about port forwarding, etc. But this isn't a prompt most models can give good responses to. Both of these models can handle it, even at 7b, but Magicoder gives more information.
[0] https://huggingface.co/LoneStriker/Magicoder-S-DS-6.7B-4.0bp...
[1] https://huggingface.co/bartowski/deepseek-coder-6.7b-instruc...
Thebloke, turboderp, lonestriker, bartowski. Between these 4 users on huggingface you can find pretty much every common model already quantized.
1.3b is about the max you can get for 4gb vram
7b will work on 8gb vram if you quantize
13b will work on 16gb vram if you quantize
33b can work on 24gb if you quanitze
If you lack vram but have ram and infinite patience you can do offloading shenanigans with cpu but it tanks performance to unusable levels in my experience.
Mozilla refusing to support webhid in any way: https://mozilla.github.io/standards-positions/#webhid
Chrome adding it to stable in 2021: https://developer.chrome.com/blog/new-in-chrome-89/
Self hosted 6.7b model is phenomenal in my experience, I actually prefer it to chatgpt a lot of the time. Similar quality code but fewer disclaimers and #todo in my experience. Gpt4 is still a bit better at coding but not by much and it's much slower for me.
1.3b - https://huggingface.co/TheBloke/deepseek-coder-1.3b-instruct...
In my experience, these models are at least as good as gpt3.5-turbo and they're very fast on consumer grade gpus (if you use quantized q3_m, q4_m, q5_m). The 1.3b is fast and good enough on consumer gpus to be used for completely local/offline code autocomplete.
With an 8gb vram gpu, I tend to prefer these models over chatgpt. Granted I'm a bit strapped for vram so I'm stuck at 6.7b q3_m or q4_m, so I often drop to 1.3b q6. It gives marginally worse quality answers than gpt3.5-turbo for me, but it's so stupid fast I don't care. On my 2070 it generates ~a dozen or more lines of code + prose per second.
If you only have a cpu, the 1.3b model is plenty fast enough for chat although it's definitely too large for real time / low latency tasks like code autocomplete.
3-4gb vram or cpu (1.3b): https://huggingface.co/TheBloke/deepseek-coder-1.3b-instruct...
Alternative for chat (1.3b): https://huggingface.co/TheBloke/evolvedSeeker_1_3-GGUF
Alternative for chat (3b): https://huggingface.co/TheBloke/open-llama-3b-v2-wizard-evol...
6-8gb vram (6.7b): https://huggingface.co/TheBloke/deepseek-coder-6.7B-instruct...
As for less common gpus, there really is no good support in any library. If you ever want to go down a fun rabbit hole, try to use the gpu in a raspberry pi for something. You'll eventually find one guy who reverse engineered the drivers to make a compiler but that's it. That's also the story for most uncommon chips with gpus (amlogic, broadcom, etc) where the real vendor gives you a driver blob for linux and no documentation. On the other hand rockchip has some good things available [2].
[0] https://github.com/IntelPython/dpctl/discussions/1124
[1] https://github.com/IntelPython/dpbench/blob/main/README.md
Are you prompting it with instructions about how it should behave at the start of a chat, or just using the defaults? You can get better results by starting a chat with "you are an expert X developer, with experience in xyz and write full and complete programs" and tweak as needed.
I just found this for fsr [0] which might work for the upscaling use case.
[0] https://github.com/Hajime-san/web-fsr/tree/main/browser-exte...
Example of a shader I was playing with https://github.com/TianZerL/ACNetGLSL
Edit: fixed, works well in every test case
Nuance is that each field should be at an address divisible by the fields size or wordline size, not some magic 32 constant. The entire struct should also be padded to a multiple of the largest fields size. In practice this usually means 32 bit alignment.
This just builds on the xiph video someone else linked but essentially
- sine waves are fine as long as you have points for rising and falling edge (nyquist, 44k guarantees 22k sine wave reproduction)
- bit depth only really affects noise floor, so it depends on your audios dynamic range