Skip to content
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

Demo: Fine-tuning and post train chat eval POC #401

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

nerdalert
Copy link
Member

@nerdalert nerdalert commented Dec 9, 2024

  • Demonstrates an end to end knowledge submission, generate, train and a post-training side-by-side model chat comparison, enabling the user to validate their knowledge submission is included in the newly trained checkpoint.
  • All aspects of the pipeline are done via the UI. No command-line operations are required at any stage.
  • For this to function for the frontend to make REST API calls to Instructlab via an api-server that frontends ilab until REST endpoints are provided via InstructLab natively. The code is here https://github.com/nerdalert/ilab-api-server
  • The demo was run on a 24GB GPU leveraging the simple pipeline. Will get an example accelerated/full pipeline demo with some hardware soon (which also produces a better tuned model).
  • Integrates the new Patternfly Chatbot component. Note: the node that ilab is running inference needs to have ports open for connectivity since as I haven't gotten the chat streaming working with Next.js app router server side rendering with the chatbot component yet.
  • Training and generation for the demo took around ~30-45m or so.
  • All functionality is decoupled from the system via REST making it serviceable out of the gate and enabling the UI functionality.
  • The knowledge submission was just a random new wiki that docling converted for the submission. It could be any topic of knowledge with accompanying documentation in the submission.
e2e-fine-tune-demo.mp4

@nerdalert nerdalert added the demo PR that contains Demo related changes label Dec 9, 2024
@nerdalert nerdalert marked this pull request as draft December 9, 2024 06:51
- Demonstrates an end to end knowledge submission, generate,
train and post-train side-by-side model comparison for the user
to validate their knowledge submission is included in the newly
trained checkpoint.
- For this to function for the frontend to make REST API calls to
Instructlab this uses an api-server that frontends ilab. The code
is here https://github.com/nerdalert/ilab-api-server
- The demo was run on a 24GB GPU leveraging the simple pipeline.
Will get an example acceslerated pipeline demo with some hardware
soon.
- Training and generation for the demo took around ~30-45m or so.
- All functionality is decoupled from the system via REST
making it serviceable out of the gate and enabling the UI
functionality.

Signed-off-by: Brent Salisbury <[email protected]>
@Misjohns
Copy link
Collaborator

@nerdalert Here are some initial comments from UX. Happy to create a new UX issue and create more mockups if you need additional design direction. JLMK

Knowledge wizard

Screenshot 2024-12-16 at 10 17 40 AM
  • Update to the new InstructLab masthead and use figma design tokens for colors, etc.
  • We should update the left navigation once we have the final direction and microcopy
  • Update the wizard steps based on new MVP knowledge designs.
  • Use steps from MVP knowledge designs to reduce the # of steps and group related fields
  • No need to display the download/view function until the Review step. Will add a sample in MVP knowledge designs
  • Assuming Auto-fill button is just a placeholder for the test NOT part of the final implementation
  • We do not display 2 levels of buttons. The Next button swaps to Submit on the last wizard step.

Model chat evaluation

Screenshot 2024-12-16 at 10 17 48 AM
  • Use the design from Red Hat Composer AI Studio demo
  • UX will provide a design that shows the pattern for InstructLab
  • UX can design a feedback mechanism (ie. Thumbs up/down) for each response.
  • Does the user needs to 2 separate chats for the models? I thought the point was to compare responses.

Fine-tuning jobs (Empty state & Toolbar)

Screenshot 2024-12-16 at 10 18 01 AM
  • This is a Getting started empty state and should only display when the Fine Tuning Job features haven’t been used yet.
  • We should show a No Results empty state in cases where the system doesn’t find any data to show, such as when a user’s search criteria doesn’t yield any results.
  • Let’s include a toolbar that allows the user to filter by status and job type, providing a count.

Fine-tuning jobs (Cards)

Screenshot 2024-12-16 at 10 18 14 AM
  • Place labels above data instead of beside
  • Using horizontal cards takes up a lot of space. Recommend removing the card frame and use a simple line separating the jobs or use the PF expandable table component
  • This status takes up a lot of space. Recommend showing status inline

@Misjohns
Copy link
Collaborator

@williamcaban FYI

@Misjohns
Copy link
Collaborator

@andybraren @beaumorley Pls feel free to add anything you think I missed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
demo PR that contains Demo related changes
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants