-
Notifications
You must be signed in to change notification settings - Fork 137
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Lack of Implementation for Large Language Models (LLMs) #1
Comments
I made somewhat simple implementation of the main missing components: https://github.com/jonppe/funsearch
It "seems" work, i.e., it is able to find some algorithms for the cap set problem (although I've only tested dimensions like ~10 ). Asyncio would be nice addition to make it faster. Also I think more diagnostics tools would be quite critical (e.g. the tree view on the code evolution). I think that should allow better prompt engineering. I could make a PR to this repo but I'm not sure if the authors intend to maintain the repository. |
Interesting work! I would like to try your code out on my windows PC, but I have no experience with Docker, which is necessary if I understood you well. Could I do this in Google Colab? I use the free version of Colab. |
This seems to work in Colab:
If the command line interface doesn't provide all features needed, you could copy the contents of the run() method and modify needed parts: https://github.com/jonppe/funsearch/blob/main/funsearch/__main__.py#L67 |
Thanks for the quick response! Now it does seem to get working in COLAB. When I run this: My output is: INFO:root:Writing logs to data/1705692678 I am testing with an open source LLM, namely: In /content/funsearch/build/lib/funsearch/main.py I changed the API key to an empty string "" using: To test if the open source LLM is working in COLAB, I did this: Which works fine:
I was also trying to use podman on COLAB, but that does not seem to work (maybe deliberately from COLABs rules ?): STEP 1/10: FROM docker.io/python:3.11.6 Can you help me out on this? |
It seems that I have it working technically at least now! Thanks for your support ! |
Hello,
Can you add issues to your repository?
any help would be appreciated. |
Thank you for your very helpful code additions, @jonppe! I have tried to implement querying the original Codey LLM over a Google API in your code, and upon some smaller code tweaks, I have been able to retrieve responses from Codey. For example, upon the first iteration, the LLM answers with the response printed at the bottom. Would you mind sharing the response that your LLM returns with me? That would help me to identify which part of the MultiCandidateTextGenerationResponse to discard and which to keep. Thank you very much for your efforts! Codey Response upon trivial prompt: MultiCandidateTextGenerationResponse(text=' This version takes into account the number of 1s in the tuple.
|
@timneumann1 By Looking at your description of MultiCandidateTextGenerationResponse, it looks like there's no ready field for that so I guess you need to drop that out yourself or alternatively, modify the rest of the _trim_function_body() so that it simply uses ast.parse() for the generated response without any extra. |
Thank you very much @jonppe. Upon making the suggested changes and hardcoding some edge cases, I got the code to run using the Codey API. Interestingly, in every dimension I have tested so far, in the very first few iterations a program is found that improves the trivial capset size quite significantly, but then no further improvement is made in the next couple of hundred iterations. I wonder if this is some sort of "local minimum", or if the number of iterations is simply way too small. It would be interesting to know how many programs the authors of the paper needed for the improvement of the bound in dimension 8! |
Can you share some data on the cost of using Codey? the estimations of the paper are around 1400 dollars per experiment... |
Using the Google Vertex AI API costs me around 1$ per 1000 API calls to the code-bison model. |
Hello all, I wanted to share a working implementation including a documentation of how to use it. Based on @jonppe's architectural work, I ran FunSearch on a math problem similar to the capset problem (the problem of finding maximal SIdon sets in affine space) using the code and procedure detailed at https://github.com/timneumann1/FunSearch-Sidon. |
when you finish your thesis, please share it, perhaps you can upload it on the repository or share the link. |
In the published paper on FunSearch, there is a mention of using pre-trained large language models (LLMs) like Codey (based on the PaLM2 model family) and a reference to StarCoder, an open-source LLM, in the supplementary information. However, the current GitHub repository for FunSearch does not include implementations or integration guidelines for these LLMs.
This issue is particularly evident in the
sampler.py
file, where the LLM class seems to be a placeholder without an actual implementation:Suggested Resolution:
Looking forward to any updates or guidance on this matter.
The text was updated successfully, but these errors were encountered: