IBM Research, in collaboration with Red Hat, has launched InstructLab, an innovative open source project designed to facilitate collaborative customization of large language models (LLMs) without complete retraining. This initiative aims to integrate community contributions into the base model, significantly reducing the time and effort traditionally required.
Mechanisms of InstructLab
InstructLab operates by lowering the cost of data generation by augmenting human-curated data with high-quality examples generated by LLM. This data can then be used to improve the base model without having to retrain it from scratch, which is a significant cost-saving measure. IBM Research has already leveraged InstructLab to generate synthetic data to improve the open source Granite model for language and code.
“There is no good way to combine all the innovations into a coherent whole,” said David Cox, vice president of AI models at IBM Research.
Recent Applications
Researchers recently used InstructLab to improve the IBM 20B Granite code model and transform it into an expert for modernizing software written for the IBM Z mainframe. This process proved both speed and efficiency, leading IBM to form a strategic partnership with Red Hat.
IBM’s current solution for mainframe modernization, watsonx Code Assistant for Z, is fine-tuned from a paired COBOL-Java program. This has been amplified over traditional rule-based synthesis generators and further enhanced using the capabilities of InstructLab.
“The most exciting part of InstructLab is its ability to generate new data from traditional knowledge sources,” said Ruchir Puri, principal scientist at IBM Research. An updated version of WCA for Z will be released soon.
How InstructLab Works
InstructLab provides a command line interface (CLI) that allows users to add and merge new alignment data into the target model via GitHub workflows. This CLI serves as a test kitchen to try out new “recipes” for generating synthetic data to teach LLMs new knowledge and skills.
InstructLab’s backend is based on IBM Research’s synthetic data generation and step-by-step training method known as Large-Scale Alignment for ChatBots (LAB). This method uses a classification-driven approach to generate high-quality data for a specific task, allowing new information to be assimilated without overwriting previously learned data.
“Instead of having large companies decide what their models know, InstructLab allows them to dictate through a taxonomy what knowledge and skills their models should have,” said Akash Srivastava, an IBM researcher who led the LAB development team.
community collaboration
InstructLab encourages community participation by allowing users to experiment with local versions of IBM’s Granite-7B and Merlinite-7B models and submit improvements as pull requests to the InstructLab taxonomy on GitHub. Project maintainers review proposed techniques, and if they meet community guidelines, data is generated and used to fine-tune the base model. The updated version will be re-released to the Hugging Face community.
IBM dedicates its AI supercomputer, Vela, to updating InstructLab models on a weekly basis. Depending on the size of your project, different disclosure models may be included. The Apache 2.0 License applies to all data and code generated by the project.
The power of open source
Open source software has been a cornerstone of the Internet, driving innovation and security. InstructLab aims to bring these benefits to generative language models by providing transparent and collaborative tools for model customization. This initiative follows IBM and Red Hat’s long history of open source contributions, including projects such as PyTorch, Kubernetes, and Red Hat OpenShift Platform.
“This groundbreaking innovation opens up something that was nearly impossible before: the ability for the community to contribute to models and improve them together,” said Máirín Duffy, software engineering manager for the Red Hat Enterprise Linux AI team.
For more information, see the official IBM Research blog.
Image source: Shutterstock
. . .
tag