Rivet: Fine-Tune ChatGPT in Just 5 Minutes with Synthetic Data - Easy, No Code Tutorial!

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ต.ค. 2024
  • Learn how to finetune ChatGPT in just 5 minutes and use my synthetic data pipeline to automatically create the finetuning data for you! No code or special konwledge required!
    Get the example project: github.com/ai-...
    Get Rivet: rivet.ironclad...
    Follow me on LinkedIn: / tim-k%c3%b6hler-ai-mad...
    If you enjoy my content, consider buying me a coffee: www.buymeacoff...

ความคิดเห็น • 39

  • @aibeginnertutorials
    @aibeginnertutorials 8 หลายเดือนก่อน +1

    Servas Vielen Danke! Excellent presentation. I have tested and utilized several methods of fine tuning Chat GPT. I have never heard of Rivet until today and will test your method out.

  • @cb4623
    @cb4623 8 หลายเดือนก่อน +1

    You sir are a hero. Appreciate you.

  • @gigglesmclovin
    @gigglesmclovin 8 หลายเดือนก่อน

    Another super useful tutorial, thanks Tim

  • @Julian-h2p
    @Julian-h2p 8 หลายเดือนก่อน +1

    Love it. Great tutorial. Will rebuild it. Could you do a similar video for an opensource LLM like Mistral and with a more scalable approach in terms of datasets? Seems like copying the input/output node 10.000 times wouldnt be that efficient. Thank you.

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      Thanks. I will think about it. You are right, this is not practical for a real use-case with lots of data.
      But you can get rid of the input/output nodes + array you are connecting to and instead just put a huge json object into the object node. I just thought it is simpler for most people to understand using the seperate nodes.

  • @AIMadeApproachable
    @AIMadeApproachable  8 หลายเดือนก่อน

    If anyone feels like having a Déjà-vu: I had to reupload the video, as there was an issue with the screencapture in the previous one. Sadly TH-cam does not allow to edit existing videos.

  • @hansmeiser6078
    @hansmeiser6078 8 หลายเดือนก่อน +2

    Great stuff! Can we use models fine tuned with Rivet in:
    A) The 'normal' ChatGPT-4 Frontend for paying user accounts?
    B) In GPT-Store as products?
    Thank you for your work.

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      Thx. That would be cool. But OpenAI completely separates all you do/create via the API versus their user interface.
      Theoretically speaking: You could create a custom GPT with an action (tool/function) to ask a finetuned version of ChatGPT. But that would mean you would need to expose an API for that action + pay for all the requests (of other users). So rather a silly idea ;)

    • @hansmeiser6078
      @hansmeiser6078 8 หลายเดือนก่อน

      Though we could self-host our own fined tuned model elswhere via node.js, e.g. company intern or outsourced?@@AIMadeApproachable

  • @carminedelrosso8825
    @carminedelrosso8825 5 หลายเดือนก่อน

    Excellent! It would be very interesting if you made a version for fine-tuning of the local model (LLAMA...). Thank you. Plus: in the case of real case with huge data, it is possible ingest the model with PDF files? (I immagine after extracting data from PDF and templated it in Json

  • @marcc0183
    @marcc0183 8 หลายเดือนก่อน

    good video! One question, you could do something similar but give it an audio as input, transcribe it with the assembly speakers function and put them respectively as input and output in JSONL in such a way that I learn to sell products the way my client would do it and with his way of talking

  • @DavidPfeiffer100
    @DavidPfeiffer100 7 หลายเดือนก่อน

    Great video Tim! I am a little fuzzy on why you assigned 2/3 of the data to Training data nd 1/3 to Validation data. Does it matter what data is used as Training and validation data?

    • @AIMadeApproachable
      @AIMadeApproachable  7 หลายเดือนก่อน

      Thank you! Take my answer with a grain of salt, as I am not a finetuning expert:
      To my knowledge there is no general answer how to handle training/validation data. Generally if you want some metrics about the effect of your training, it is advisable to generate validation data.
      Now depending on what you actually want to train, the first decision is already if your validation data should be disjoint from your training data or not. As in this case we wanted to not exactely answer with the phrases we trained it on, but generate a general understanding, I chose the data to be disjoint, to test if that works in untrained scenarios as well.
      About the data split itself: I read that it is typical to use 10 - 30% as validation data. I just picked one of those values ;) Most likely 10 or 20% will also suffice.

  • @tiagovasc
    @tiagovasc 8 หลายเดือนก่อน

    What you built looks amazing, and seems incredibly useful for my project. However even though it's no code, as a non-technical person I still feel a bit overwhelmed. I downloaded Rivet but no idea what I have to do. I see your code on git, and I suppose I have to import in some way into Rivert, but no idea how. Is there some resource you recommend to learn how to implement something like this?

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      Thanks. I understand your struggle. I did not create an beginner tutorials yet. Will soon start with that. And yes even knowing how to import my projects sounds important.

    • @tiagovasc
      @tiagovasc 8 หลายเดือนก่อน

      @@AIMadeApproachable I figured it out! Still super overwhelming but I'll try to tweak it bit by bit and rewatch the tutorial several times. Thank you for your work! 🙏

  • @deandresnago2796
    @deandresnago2796 8 หลายเดือนก่อน +1

    hello your projects have been really good for me i have little knowledge of this stuff. will you please make local version . i was able to do it with some of your projects but i don't know how with the embeddings .

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      Thanks! Yes, you are right. Embeddings are still missing for a fully local setup.

  • @lrrr
    @lrrr 7 หลายเดือนก่อน

    Guys, your software is simply excellent, could you make a video on connecting an Open Source model like LLama70b or Mistral/Mixtral8x78 and fine tuning it. It would be a bomb!

    • @AIMadeApproachable
      @AIMadeApproachable  7 หลายเดือนก่อน

      First of all: I am not the developer of the software, those are mainly Andy + Cai from Ironclad. I am just a user (and recently started creating some plugins for it).
      Bot about your request: Video about finetuning any local model will be out in a few days!

  • @JG27Korny
    @JG27Korny 8 หลายเดือนก่อน +1

    it is not chatgpt it it is an api call to gpt. Those are different models. The chatpgt is a chat bot llm, while the api is instruct mode llm. They give different results.

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      Well not exactely. A GPT is also "just ChatGPT" (same as in the API), but with additional instructions + tools attached + a system that handles those tool calls etc.

    • @JG27Korny
      @JG27Korny 8 หลายเดือนก่อน

      in the paper Sparks of Artificial General Intelligence:
      Early experiments with GPT-4 they compare gpt4 and chatgpt as the results are different @@AIMadeApproachable

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      @@JG27Korny Interesting. I will check that out! Thanks

  • @stateramystic
    @stateramystic 8 หลายเดือนก่อน

    nice! thanks

  • @ugochukwuumerie6378
    @ugochukwuumerie6378 7 หลายเดือนก่อน

    Hello great video, im new to this, do you have like an intro video on how to setup and use rivet?

    • @AIMadeApproachable
      @AIMadeApproachable  6 หลายเดือนก่อน

      Not really, sorry. Maybe this video helps you:
      th-cam.com/video/P1PhHWK6n9I/w-d-xo.html

  • @AIEntusiast_
    @AIEntusiast_ 7 หลายเดือนก่อน

    what if you 1000 pdf`s that are research papers and not question/answer, how you structure that ?

    • @AIMadeApproachable
      @AIMadeApproachable  7 หลายเดือนก่อน +1

      I would generally advice you to use Retrieval Augmented Generation (RAG) for that use-case.
      But about finetuning: Well the only method you have for finetuning with OpenAI is SFT (Supervised Finetuning), which means you need to give it positive examples of conversations to learn from. You will need to think about your use case of that data from the 1000 pdf's and create training data based on that. am not sure what this would be, if you are not going to ask questions about the pdfs, which would bring you back to question/answer pairs. Generally you will need a unique workflow for your purpose, that e.g. chunks the PDFs into smaller parts and automatically generates question/answer/other desired conversation examples (using some LLM).

  • @rien4622
    @rien4622 8 หลายเดือนก่อน

    hi is it possible to add more data to fintune model already created ?

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน +1

      Sure. Just select it as the base model when creating the finetuning job.

  • @hansmeiser6078
    @hansmeiser6078 8 หลายเดือนก่อน +1

    How can/should we use RAG within fine-tuning?

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      Well RAG can of course be added on top. But most likely you will want to start with RAG and not with finetuning if it is about adding knowledge. See this blog post here that has a nice info graphic:
      nextword.substack.com/p/rag-vs-finetuning-llms-what-to-use

    • @hansmeiser6078
      @hansmeiser6078 8 หลายเดือนก่อน

      @@AIMadeApproachable I have no paid OpenAI-Account yet. So I would assume, we could choose in the OpenAI-UI a RAG-modified model to fine-tune with Rivet- is this right?

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน

      @hansmeiser6078: You get access to the normal API (gpt-3.5-turbo, gpt-4-turbo etc.). And to the assistants-api.Maybe you mean the assistants with "OpenAI-UI a RAG-modified". For the assistants you can currently not use custom finetune models.

    • @hansmeiser6078
      @hansmeiser6078 8 หลายเดือนก่อน

      @@AIMadeApproachable Wenn beides optimieren soll (RAG and fine-tune), ist das aber wohl essentiell. Then I would understand it so:
      OpenAI-Normal API

    • @AIMadeApproachable
      @AIMadeApproachable  8 หลายเดือนก่อน +1

      Yes. But to be honest OpenAI-Assistants retrieval is not really good anyways. It does not even seem to be using any RAG techniques (vector searches). It is just seems to be ChatGPT executing some python code to try to read the document (with sometimes more and sometimes less success). That is neither reliable nor token efficient and very slow.
      So in the end it makes more sense to have your own RAG setup anyways.