So we don’t necessarily have to create an entire VM to, say, run a FHE machine learning model. That can be built directly and specifically optimized for the task. I think that’s where this is currently useful for real world stuff.
1,171 karma · joined September 29, 2012
So we don’t necessarily have to create an entire VM to, say, run a FHE machine learning model. That can be built directly and specifically optimized for the task. I think that’s where this is currently useful for real world stuff.
We have a couple of variables: the data pointer, the instruction pointer
The values of these are encrypted BUT we can change them by performing logical operations (AND, OR, XOR, etc) on them.
So a cycle of the VM asks
1. Is the current instruction the correct instruction?
2. Is the current data cell the correct data cell?
Obviously if we knew the value of the instruction pointer we could just go straight to the correct instruction, and if we knew the index of data cell I could go straight to it.
The problem is that we don't know either of these things. So we have to go to every instruction and every data cell and check if it's the correct one. If it is then we can perform the instruction, otherwise we move on.
You can see now why this would be slow too. It's even slower though because in order to do this "check" we have to execute logic gates and the gates can take ~0.8 seconds (on a somewhat modern CPU).
I could definitely use some help on this. Whether it be giving advice or writing actual code.
If anyone would like to chat more about this I have setup a slack channel for be project. Here is the invite link
https://join.slack.com/t/fist-global/shared_invite/enQtNjcyN...
Thank you again for all the support, I’m excited to continue development.
Right now it is not very complicated. An inverted index of the text that is sent over is created and added to the database. The DB is just a big hash map. Searching right now is just an O(1) lookup in this hash map of the text being searched in this hash map.
I have plans to improve this of course. There is a lot of room for improvement. I am also planning on adding scoring using TF-IDF, but it's not done yet.
Any help with this would be more than appreciated!
Also, you are essentially creating another programming language that I have to learn and I don't want to learn it.
"Writing code using natural language" should mean that I can write code without having to follow any kind of format.
I should be able to say "find the smallest item in the list" and "give me the smallest element in the list" and that should work the same way. Right now these natural language programming languages are still just that - programming languages.