×
Login Register an account
Top Submissions Explore Upgoat Search Random Subverse Random Post Colorize! Site Rules
3

How did I do with last weeks goals?

submitted by x0x7 to x0x7projects 3 monthsJan 15, 2024 17:03:23 ago (+3/-0)     (x0x7projects)

In terms of completeness I scored 2.5/10, but getting it all done was a pipe dream. The important thing is I've fixed the bugs in my paper trading code that double checks my trading bots, and made it much better at helping me tune some non-trained values. So performance is up.


I also just about doubled the speed / efficiency of the API calls I use to grab data. Basically I have a library that lets me request historic price data by any arbitrary millisecond. It checks a database to see if I have it locally, if not it requests the data from the internet and stores a copy in the database. The internet call requests more data than I strictly need, so I get to make fewer requests if I can predict what data I still need that the program is probably going to request. That's better now.

I also wrote the start of a new database. It's dead simple. Like I mentioned the historic price library lets you request the price of something by any arbitrary millisecond. Price data that accurate doesn't exist, so it interpolates between acceptably close prices. Well I decided sql is not the best database for this when it is a bottle neck to training. Back when I was working on a similar project in C (I'm now using javascript with a C machine learning library I wrote), I would get price data by rounding to the closest minute and indexing within a mmap. So I decided something like that is better for a fuzzy integer to floating point value lookup.

Basically every table is really just two mmap'd files. One of integers, and one of floating point values. When assigning a value to a timestamp (an int) you just find an empty cell in the list of integers near the expected index for it, and then also write a floating point value to the same index in the float list. So basically you now have this table of timestamps and floating point values that are quick to look up.

As for the t-shirt web store + chatgpt integration goal I decided that's not the highest priority. If I do it I think I'm going to make my own front end. I did find storefront-ui which looked cool and might turn making it really quick. You never really know how quick it would be until you do it. But basically it's a bunch of Vue.js components. I have no experience with Vue so it would be a good excuse to learn something I really should have on my list of skills. And Nuxt.js, which it's intended to be served by looks pretty cool.

As for the uncensored LLM / chatGPT project I didn't make a lot of progress. I did do some math reasearch on the idea during a slow moment of work. It further drove home the idea that what I want to do is reasonable an not hard per se. The actual hurdles then are not conceptual but practical. Actually reading the Llama.cpp source code (not fun). Figuring out how to shim in a block matrix operations in place of a regular matrix operations. That one isn't hard and the more difficult part is where in the code specifically and making sure it plays nice with cuda.

I wonder how hard it would be to just re-implement the llama code in javascript+c while keeping the models. C++ is famous for that. "It would be easier to rebuild this than to read the code."

So all in all only the trading bot stuff got done. That was the important bit, so I'm happy.


2 comments block


[ - ] KyleIsThisTall 0 points 3 monthsJan 15, 2024 17:42:16 ago (+0/-0)

Per se

[ - ] x0x7 [op] 0 points 3 monthsJan 15, 2024 18:17:46 ago (+0/-0)

Yeah, that was bugging me. I knew something was off with it. I changed computers recently and this one's browser has a spell checker that complains about correct things constantly and it makes me second guess myself. There were spell checkers in the 90s with better vocabulary.