Fushuan [he/him]

Huh?

  • 0 Posts
  • 22 Comments
Joined 2 years ago
cake
Cake day: July 1st, 2023

help-circle


  • Not enough for it to make results diverge. Randomness is added to avoid falling into local maximas in optimization. You should still end in the same global maxima. Models usualy run until their optimization converges.

    As stated, if the randomness is big enough that multiple reruns end up with different weights aka optimized for different maximas, the randomization is trash. Anything worth their salt won’t have randomization big enough.

    So, going back to my initial point, we need the training data to validate the weights. There are ways to check the performance of a model (quite literally, the same algorithm that is used to evaluate weights in training is them used to evaluate the trained weights post training) the performance should be identical up to a very small rounding error if a rerun with the same data and parameters is used.



  • Hey, I have trained several models in pytorch, darknet, tensorflow.

    With the same dataset and the same training parameters, the same final iteration of training actually does return the same weights. There’s no randomness unless they specifically add random layers and that’s not really a good idea with RNNs it wasn’t when I was working with them at least. In any case, weights should converge into a very similar point even if randomness is introduced or else the RNN is pretty much worthless.





  • The source OP is referring to is the training data what they used to compute those weights. Meaning, petabytes of text. Without that we don’t know which content theynused for training the model.

    The running/training engines might be open source, the pretrained model isn’t and claiming otherwise is wrong.

    Nothing wrong with it being this way, most commercial models operate the same way obviously. Just don’t claim that themselves is open source because a big part of it is that people can reproduce your training to verify that there’s no fowl play in the input data. We literally can’t. That’s it.


  • The running engine and the training engine are open source. The service that uses the model trained with the open source engine and runs it with the open source runner is not, because a biiiig big part of what makes AI work is the trained model, and a big part of the source of a trained model is training data.

    When they say open source, 99.99% of the people will understand that everything is verifiable, and it just is not. This is misleading.

    As others have stated, a big part of open source development is providing everything so that other users can get the exact same results. This has always been the case in open source ML development, people do provide links to their training data for reproducibility. This has been the case with most of the papers on natural language processing (overarching branch of llm) I have read in the past. Both code and training data are provided.

    Example in the computer vision world, darknet and tool: https://github.com/AlexeyAB/darknet

    This is the repo with the code to train and run the darknet models, and then they provide pretrained models, called yolo. They also provide links to the original dataset where the tool models were trained. THIS is open source.











  • I wasn’t talking about situations with compromised accounts, I was talking about legitimate accounts that were created in a typical way being converted to a zero knowledge encryption method, I was aknowledging that it’s hard doing that conversion when a user might have several clients logged on (2 phones, 6 computers…).

    My point was that if they have not put any motivation in the transition, they never will because the bigger the userbase, the harder for them to manage the transition. Also, I find that sad because they should have invested more effort in that instead of all the features we are getting, but whatever.

    If you found the technical terms confusing, public/private keys are some sort of asymmetric “passwords” used in cryptography that secure messages, and shared keys would be symmetrical passwords. The theory between key exchanges and all around those protocols are taught in introductory courses to cryptography in bachelors and masters, and I’m sorry to say that I don’t have the energy to explain more but feel free to read about the terms if you feel like it.

    If you however found it confusing because I write like crap, I’m sorry for potentially offending you with the above paragraph and I’ll blame my phone keyboard about it :)