nodevectors
gpt4all
nodevectors | gpt4all | |
---|---|---|
8 | 139 | |
497 | 65,231 | |
- | 3.5% | |
0.0 | 9.8 | |
almost 2 years ago | 1 day ago | |
Python | C++ | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
nodevectors
-
Vectorizing Graph Neural Networks
Yes, people working on graph based ML realize quickly that the underlying data structures most originally academic libraries (networkX, PyG, etc.) use are bad.
I wrote about this before [1] and based a node embedding library around the concept [2].
The NetworkX style graphs are laid out as a bunch of items in a heap with pointers to each other. That works at extreme scales, because everything is on a cluster's RAM and you don't mind paying the latency costs of fetch operations. But it makes little sense for graphs with < 5B nodes to be honest.
Laying out the graph as a CSR sparse matrix makes way more sense because of data locality. At larger scales, you could just leave the CSR array data on NVMe drives, and you'd still operate at 500mb/s random query throughput with hand coded access, ~150mb/s with mmap. That remains to be implemented by someone.
[1] https://www.singlelunch.com/2019/08/01/700x-faster-node2vec-...
[2] https://github.com/VHRanger/nodevectors
-
Zoomable, animated scatterplots in the browser that scales over a billion points
Ideally, you'd embed the graph into 2 or 3d first, then visualize it as a scatterplot.
Visualizing the edges at scale doesnt yield nice results in general.
The way to do it is to reduce the graph to some 300d or 500d embeddings, then use TSNE/UMAP/PACMAP to reduce that to 3d. Then visualize.
My prefered way is to use some first order embedding method like GGVec in this library [1] (disclaimer I wrote it). Node2Vec and ProNE don't yield great embeddings for visualization (the first is too filamented, the second too close to the unit ball).
Another great library to do this work is GRAPE [2]. Try first-order embedding methods, or short walks on second order methods to avoid the embeddings being too filamented by long random walk sampling.
[1] https://github.com/VHRanger/nodevectors
[2] https://github.com/AnacletoLAB/grape/
-
[P] We are building a curated list of open source tooling for data-centric AI workflows, looking for contributions.
For graph embeddings, there's quite a few. I'd recommend this one, but there's also this one (disclaimer: I'm the author) or this one, more of a DGL library.
-
clustering on sparse data (that's also wide)
You could also use some node embedding library to embed the sparse matrix into a denser one and then cluster that.
-
Faster Python calculations with Numba: 2 lines of code, 13× speed-up
Numba fits very few usecases, but where it does fit it's awesome.
I've been using it in a python graph library to write graph traversal routines and it's done me very well: https://github.com/VHRanger/nodevectors
The best part is the native openMP support on for loops IMO. Makes parallelism in data work very efficient compared to python alternatives that use processes (instead of threads)
-
UMAP works by representing high-dimensional data as a weighted graph and projecting that graph in lower dimensions. Could you use it directly to visualize a graph?
I was playing around with graph embeddings (https://github.com/VHRanger/nodevectors/) and wanted to visualize them, which led me to look into UMAP.
-
[D] Best methods for imbalanced multi-class classification with high dimensional, sparse predictors
The best candidates for it would be UMAP or graph embedding methods
-
Why I'm Lukewarm on Graph Neural Networks
As expected, networkx couldn't handle more than a million nodes so I had to search for python libs which might handle that much data.
This is why I've been using your lib (https://github.com/VHRanger/nodevectors) for at least 2 weeks now as well as these 2 other libs: https://github.com/louisabraham/fastnode2vec and https://github.com/sknetwork-team/scikit-network. What do they have in common? They handle sparse graphs (using CSR representations).
Having a graph with several million nodes isn't just some edge case, social graph for instance grow way faster than anyone could expect.
gpt4all
- Show HN: I made an app to use local AI as daily driver
-
Ollama Python and JavaScript Libraries
I don’t know if Ollama can do this but https://gpt4all.io/ can.
-
Ask HN: How do I train a custom LLM/ChatGPT on my own documents in Dec 2023?
Gpt4all is a local desktop app with a Python API that can be trained on your documents: https://gpt4all.io/
-
WyGPT: Minimal mature GPT model in C++
The readme page is cryptic. What does 'mature' mean in this context? What is the sample text a continuation of?
Hving a gif the thing in use would be great, similar to the gpt4all readme page. (https://github.com/nomic-ai/gpt4all)
-
LibreChat
Check https://github.com/nomic-ai/gpt4all instead.
-
OpenAI Negotiations to Reinstate Altman Hit Snag over Board Role
"I ran performance tests on two systems, here's the results of system 1, and heres the results of system 2. Summarize the results, and build a markdown table containing x,y,z rows."
"extract the reusable functions out of this bash script"
"write me a cfssl command to generate a intermediate CA"
"What is the regex for _____"
"Here are my accomplishments over the last 6 months, summarize them into a 1 page performance report."
etc etc etc
If you're not using GPT4 or some LLM as part of your daily flow you're working too hard.
Get GPT4All (https://gpt4all.io), log into OpenAI, drop $20 on your account, get a API key, and start using GPT4.
-
Darbe uzdraude naudotis CHATGPT: ar cia normalu?
offline versija, nors ir ne tokia pažengus - https://github.com/nomic-ai/gpt4all ; https://gpt4all.io/index.html
- GPT4All: An ecosystem of open-source on-edge large language models - by Nomic AI
-
Why use OpenAI's ChatGPT3.5 online service, if you can instead host your own local llama?
Take a look at https://gpt4all.io, their docs are pretty awesome
-
Ask HN: Are you using a local LLM? If yes, what for?
I run one. I built an iMessage-like frontend to it using plain JS and a Python websocket backend. I mostly just use it for curiosity and playing with different prompts. I only have 16GB of RAM to dedicate to it, so I use an 8B parameter model which is enough for fun and chitchat, but I don't find it good enough to replace ChatGPT.
https://github.com/nomic-ai/gpt4all
What are some alternatives?
ndarray_comparison - Benchmark of toy calculation on an n-dimensional array using python, numba, cython, pythran and rust
llama.cpp - LLM inference in C/C++
deepscatter - Zoomable, animated scatterplots in the browser that scales over a billion points
ollama - Get up and running with Llama 3, Mistral, Gemma, and other large language models.
GCGT - Source code for the paper: GPU-based Compressed Graph Traversal
private-gpt - Interact with your documents using the power of GPT, 100% privately, no data leaks
nanocube
text-generation-webui - A Gradio web UI for Large Language Models. Supports transformers, GPTQ, AWQ, EXL2, llama.cpp (GGUF), Llama models.
refinery - The data scientist's open-source choice to scale, assess and maintain natural language data. Treat training data like a software artifact.
alpaca.cpp - Locally run an Instruction-Tuned Chat-Style LLM
CloudForest - Ensembles of decision trees in go/golang.
TavernAI - Atmospheric adventure chat for AI language models (KoboldAI, NovelAI, Pygmalion, OpenAI chatgpt, gpt-4)