LAION-AI / Open-Assistant

OpenAssistant is a chat-based assistant that understands tasks, can interact with third-party systems, and retrieve information dynamically to do so.
https://open-assistant.io
Apache License 2.0
36.99k stars 3.23k forks source link

Planning OA v1.0 #3268

Closed andreaskoepf closed 8 months ago

andreaskoepf commented 1 year ago

This is a call for all OA collaborators to participate in planning the work of the next 8-12 weeks with the goal to release Open-Assistant v1.0.

Mission: Deliver a great open-source assistant model together with stand-alone installable inference infrastructure. Release date (tentative): Aug 2023

Organization

Feature set proposal (preliminary)

Model

Inference system

Classic human feedback collection

Experiments

Perspective strategy (brain-storming)

Please add further proposals for high-priority features and try to make a case for why they are important and should become part of v1.0. If you are a developer who wants to support OA: Let us know on what you would like to work (also if it is not yet part of the above list).

andrewm4894 commented 1 year ago

I don't see much around plugins above (or maybe i'm reading it wrong) - i know we have some but only getting up to speed on them now. But wondering what/how will be part of OA v1.0.

Wondering if a user journey using a set of OA hosted plugins could be something we think about?

flozi00 commented 1 year ago

When the plugin API Design is final I would work on plugins to be added, especially information retrieval like weather, wikipedia, lyrics and so on

echo0x22 commented 1 year ago

I'd add to discussion more data types (so-called multimodality) at "Classic human feedback collection" section. We can try to collect data with successful understanding of different data within assistant-like system: audio, images, videos, links, docs, (with texts obviously) etc.

Even if we can't use it right now, it'll be a great investment into the future, e.g. others in OS community can focus on building models on our data, and then we can use it too.

echo0x22 commented 1 year ago

Also, @andreaskoepf, we discussed some kind of collecting system prompts in DM, maybe we can also add this type of tasks: Following System Prompt

echo0x22 commented 1 year ago

Also, we maybe should add Translation tasks (translate prompts and answers in our db between languages)

huu4ontocord commented 1 year ago

I think trying to figure out how to train smaller models that are good enough such as a 1b with retreival so that it can be run on typical PCs would be awesome.

andreaskoepf commented 1 year ago

When the plugin API Design is final I would work on plugins to be added, especially information retrieval like weather, wikipedia, lyrics and so on

It is now possible to create all kinds of plugins for OA. But currently only one plugin can be active at a time and this plugin must be manually selected. Plugins only rely on the zero-shot capabilities of the LLM and can therefore easily be extended. We could test if newer/larger models (Falcon40B or LLaMA65B) are capable of selecting the right 'plugin' when multiple plugins are offered and how large the overhead is for these additional queries. Multiple active plugins probably depend on long-context.

We can also define a fixed set of tools and train a model to use these tools automatically in situations where it is beneficial (i.e. like toolformer). For this approach the main challenge is to create the special dataset. Adding new tools here requires extension of the tooluse-dataset and training a new model.

rkchee commented 1 year ago

What a high quality meeting! Here are some of my thoughts on the qualities that I see

  1. high quality models that work out of the box. this is extremely rare and accessible. the demonstration alone of functioning models is already very unique. Papers and Huggingface describe models but here the models demonstrate function. Kudos to the expertise and talent needed to get them to work
  2. Unique to this project and first in class was the ability to level up different communities to build AI. The principle of communities that can help other communities. With a few more tweaks, I can see this being a social network of domain specific communities training AI's and being able to merge models of different domains.
  3. API/Pluggin functionalities likely further improves accessibility
  4. The community has the potential of accessing very original ideas that may not be present or encouraged in big tech, corporations, or other industries. The leaders of this community runs a CICD process with the community which brings focus, bring stuff to the world and vets great ideas.
balisujohn commented 1 year ago

@andreaskoepf can you elaborate on what you mean by "semi-automated inference based data collection." Would this be a system that uses an existing OA model to create the trees, then creates tasks for humans of doing quality assurance on the generated trees?

andreaskoepf commented 1 year ago

can you elaborate on what you mean by "semi-automated inference based data collection."

The idea is to use the inference system to generate answers which then are reviewed, labeled, corrected and refined by the users. In this AI+human setup it should be possible to process a higher number of assistant replies more easily and to focus on the weaker parts of our models. The idea is similar to the process described by OpenAI in the Instruct GPT paper and also borrows ideas from other successful "bootstrapped" approaches like for example Meta's Segment Anything. Quote from SA paper: "we co-develop our model with model-in-the-loop dataset annotation (..). Our data engine has three stages: assisted-manual, semi-automatic, and fully automatic." image

olliestanley commented 1 year ago

can you elaborate on what you mean by "semi-automated inference based data collection."

The idea is to use the inference system to generate answers which then are reviewed, labeled, corrected and refined by the users. In this AI+human setup it should be possible to process a higher number of assistant replies more easily and to focus on the weaker parts of our models. The idea is similar to the process described by OpenAI in the Instruct GPT paper and also borrows ideas from other successful "bootstrapped" approaches like for example Meta's Segment Anything. Quote from SA paper: "we co-develop our model with model-in-the-loop dataset annotation (..). Our data engine has three stages: assisted-manual, semi-automatic, and fully automatic." image

Relevant to this could be #3029

rkchee commented 1 year ago

That resonates with me a lot. Having the algorithm directly interact with us and learns to produce better results. We can even gather the outputs and distribute to specialists that can rank them quickly at a glance of what works and does not for mass ranking

The faster we get to outputs and the easier the rankings is done is a good principle

On Mon, Jun 5, 2023 at 4:56 AM Oliver Stanley @.***> wrote:

can you elaborate on what you mean by "semi-automated inference based data collection."

The idea is to use the inference system to generate answers which then are reviewed, labeled, corrected and refined by the users. In this AI+human setup it should be possible to process a higher number of assistant replies more easily and to focus on the weaker parts of our models. The idea is similar to the process described by OpenAI in the Instruct GPT paper https://arxiv.org/abs/2203.02155 and also borrows ideas from other successful "bootstrapped" approaches like for example Meta's Segment Anything https://arxiv.org/abs/2304.02643. Quote from SA paper: "we co-develop our model with model-in-the-loop dataset annotation (..). Our data engine has three stages: assisted-manual, semi-automatic, and fully automatic." [image: image] https://user-images.githubusercontent.com/9976399/243342735-4574a55b-a24f-4208-8a5e-9a0451d85cf3.png

Relevant to this could be #3029 https://github.com/LAION-AI/Open-Assistant/pull/3029

— Reply to this email directly, view it on GitHub https://github.com/LAION-AI/Open-Assistant/issues/3268#issuecomment-1576648630, or unsubscribe https://github.com/notifications/unsubscribe-auth/AF46UYKUF46YDUOFYJMSGFTXJXCPPANCNFSM6AAAAAAYVTQ4WU . You are receiving this because you commented.Message ID: @.***>

kaiokendev commented 1 year ago

longer context

Hello, I saw topic some weeks back, I am wondering if this can help you at all, as it works for me: https://kaiokendev.github.io/til#extending-context-to-8k

theophilegervet commented 1 year ago

Hi @andreaskoepf @yk, thank you for your work on the OpenAssistant. It's beautiful to see the open source community build so quickly. Would it be possible to participate in the development of OA v1.0? If so, what would be the best way to get started? Could I join the weekly developer meeting mentioned above?

Thanks a ton! Theo https://theophilegervet.github.io/

olliestanley commented 1 year ago

@theophilegervet the best way is to join the Discord - if you're interested in ML work the main current focus of OA is on long context (see #3557), with some consideration also of how we can achieve multimodal in future. Once you join the Discord ping me ([at] ollie4) and I can add you to the relevant channels