Add and configure Model, LLM, and Dataset steps
Model steps enable integrating and executing machine learning (ML) or AI-based models or model-related operations in a Business Process (BP). You can find available Model steps in Workflow Designer of a Business Process: in the Reusable components panel, navigate to the Bot tab and find the Models category.
Analyze and improve model
Input: Generated CSV file with results of IE process.
Annotators
Annotators help to extract structured information from unstructured data. As documents pass through the processing pipeline, Annotators analyze words, phrases, named entities in unstructured content and then create Elements.
Apply BEP Worker
A Worker is a single instance of a Worker application process started by BEP to process BEP Worker tasks.
AutoML SDK API
AutoML SDK API Enables managing AutoML Archetypes and their dependencies.
Build custom Python model
The recommended best practice is to develop a Python model package as a pure Python project, with tests and so on, and to use it as a dependency in an Archetype-generated project intended for integration with the WorkFusion ecosystem.
Calculate capacity
To plan capacity means to ensure the availability of a cost-effective capacity that meets or exceeds the business needs as established in Service Level Agreements (SLAs) at any given time. Within the context, capacity is defined as the maximum load the Work.AI platform can handle.
Change AutoML settings in ZooKeeper
The AutoML Model Service is split into two smaller services:
Checker model
Checker model should be used by an ML Engineer to improve information extraction model results, if needed.
Classification
WorkFusion AutoML models provide an ability to automatically classify texts by analyzing its parts (tokens) and their combinations (features).
Compare Search Engines
Search Engine is a framework for optimizing AutoML model parameters. WorkFusion offers three versions of the framework that you can choose from based on your purposes:
Compare two models (Information Extraction)
Task: compare results of two models.
Configure automatic algorithm selection
The automatic algorithm selection is a mechanism that finds the best classifier for a dataset to apply during model training.
Configure local environment
Install Java
Configure model
To make the most of AutoML SDK, components need to be used together in one configuration. The main hyper model class located at [ModelPackage]/model/[ModelName]Model.java contains a @HypermodelConfiguration annotation with a reference to the AutoML SDK configuration class.
Configure sensitivity analysis
The general flow to configure the sensitivity analysis is as follows:
Create and manage templates
Templates are intended to simplify document ingestion by enabling automated information extraction from structured forms (for instance, ACORD). When a template is created, blank forms are annotated with labels. Based on these labels, data is then extracted from input documents.
Create AutoML SDK configuration
AutoML SDK configuration is a Java Spring-like set of definitions for AutoML SDK components
Create no-code schema-based Business Process
The guide describes two automation use cases leveraging no-code Work.AI features and contract-based data schemas:
Create Python project from Archetype
AutoML SDK offers the following types of Maven archetypes related to custom Python pipelines:
Customize Python code
The customization affects the pipeline.py file located on the following path: src/main/python/package/automl/ml/lib//pipeline.py. The file is part of a project template and serves as an entry point for integrating Python models.
Data Analyst job
To understand a Data Analyst's expected contribution to a successful project delivery, let's first outline the context of a cognitive automation implementation.
Data Analyst responsibilities
From the article, you can learn the following information about the Data Analyst (DA) role:
Data Analyst workflow
A Data Analyst (DA) acts based on several factors originating from the customer's data analysis. The article shares a typical workflow for new DAs.
Deploy model
After creating an AutoML project from an Archetype, you can deploy it to a Control Tower instance, even without training.
Deploy Python environment
To set up a custom Python environment in a cluster and enable running a model in it, follow the instructions below.
Design Manual Task for labeling
Goal of the step: design a Manual Task, accounting for the business logic of all documents and fields
Design Manual Task forms
To design a form layout for a Manual Task (MT) added to a Business Process (BP), follow the steps below:
Develop Python-based models
The main idea is to enable machine learning engineers to implement specific parts of training and execution pipelines, namely the composer workflow, on the Python side or using other supported platforms and languages. To this end, two extension points were implemented:
Documents labeling and validation
Goal: Get labeled dataset of high quality.
Enable auto labeling with OpenAI or MistralAI
To simplify and speed up document labeling, WorkFusion implemented an automatic document labeling mechanism based on OpenAI (ChatGPT) and MistralAI LLM (large language model) services.
Estimate resources for AutoML execution
This article provides recommendations on how to adjust AutoML Worker parameters, such as CPU and memory consumption, for better cluster utilization and throughput.
Execute model
To check model quality, prepare a test set of documents and run the execution process. ModelEvaluationRunner.java contains logic similar to that of the training runner. Once the execution process is finished, model results are available in the output directory.
Explore AutoML SDK components
AutoML SDK is a WorkFusion-built Java framework for creating and customizing Machine Learning models. It is a powerful tool in addressing classification and information extraction use cases.
Explore Data Analyst tasks
Data Analyst manual is an advanced guide developed to teach the Data Analyst role for projects which use WorkFusion Machine Learning capabilities. Its goal is to give an end-to-end understanding of the qualitative ML Training Set collection. This guide teaches best practices and WorkFusion Center of Excellence (CoE)-approved delivery methods.
Extend AutoML SDK with Python classifiers
You can extend AutoML SDK with a set of Python classifiers based on Scikit-learn, MXNet, and so on. The extension allows using ML algorithms implemented in Python with AutoML pipelines.
Feature engineering
Features) are individual measurable properties or characteristics of the data being observed. Selecting relevant features and deciding how to encode them for a training can have a great impact on model results. The process of feature development is known as feature engineering or feature generation. Simply put, it is a process of manually constructing new attributes from raw data. It involves intelligent combining or splitting the existing raw attributes into new ones with a higher predictive power.
Feature Extractors
A Feature Extractor is an AutoML SDK component that has built-in logic to analyze each Token in a Document and produce a set of independent and discriminating features).
Final dataset review
Goal: To preprocess gold data (normalize), if necessary, for model training and check label distribution.
Generate pure Python project
To simplify Python development, an integration was enabled with pure Python projects. You can use the projects to develop custom Python models instead of the mixed Java-Python approach described in the preceding articles of the section.
Get model explanations
To get a model explanation, act as follows:
Get started with AutoML SDK
The article features a high-level overview of how you can develop a machine learning (ML) model with AutoML SDK and publish it to Control Tower (CT) for further use in a Business Process (BP). The general flow is shown in the figure below:
Get started with Control Tower
Control Tower (CT) is the central orchestration application of the Work.AI platform. It enables users to perform the following actions:
Get to know AutoML delivery flow
The chapter describes the end-to-end delivery flow of a machine learning (ML) project.
Gold data normalization
This Business Process (BP) normalizes gold data values by doing the following:
Grouping models
Grouping is a mechanism, enabling developers to combine existing or new models into one artifact. The main goal is to reduce the number of Workers and minimize the start time on the cluster.
Implement custom models
The tutorial walks you through the implementation of the following typical custom models—information extraction (IE) and classification with or without Python support.
Import Python environments
The Python environment component service works with data represented in the python-envs folder of an AI Agent Asset Bundle. For the complete AI Agent Asset Bundle structure, see Package assets into AI Agent Asset Bundle.
Information extraction
Information extraction is a process of extracting structured information (or key facts) from unstructured and semi-structured documents (invoices, claims, dividend news, and so on).
Install and configure ML Ops Platform
ML Ops Platform is an optional Work.AI add-on allowing you to work with more complex model types. The guide describes how to install the ML Ops Platform in your environment.
Introduction to AutoML
AutoML is a proprietory WorkFusion technology that supports machine learning (ML) tasks within the Work.AI platform. The article describes how to work with the AutoML technology and gives an overview of typical uses cases.
Labeling and validation
Goal: Get labeled dataset of high quality
Labeling requirements
In order to ensure a dataset is of high quality, result of labeling must be:
Learn about BEP and AutoML integration
The main goal of AutoML and BEP integration is to use the BEP platform for the AutoML execution.
Learn about technology
Optical Character Recognition
Learn about WorkFusion models
The article highlights models you can access in Work.AI.
Learn ML basics
Machine learning (ML) is a branch of computer science that applies various techniques to enable a computer to learn from data without substantial programming.
Machine learning algorithms
The mathematical description of the information extraction (IE) and classification cases contains the following steps.
Manage AutoML models in Control Tower
The AutoML menu in Control Tower allows you to perform the following actions without coding:
Manage datasets
A dataset is a container for documents and all related meta information as required for model training or testing, such as:
Manage models
To access a list of available Machine Learning (ML) models, select AutoML > Models. Control Tower updates the list every time a new model is deployed to your environment or you complete a training run.
Manage pipelines
To access a list of available pipelines (artifacts), select AutoML > Pipelines. Control Tower updates the list every time a new pipeline is deployed to your environment.
Merge and split models
WorkFusion features a merge-and-split utility for information extraction (IE) models trained on different machines or with different fieldsets.
ML model improvements
Once the first results are received, there is low probability that they will meet all the success criteria without any changes and tuning. More often, some enhancements should be done.
ML models
Model training
OOTB Feature Extractors
The majority of all automations apply a number of common Feature Extractors most of which are reusable. AutoML SDK contains most used Feature Extractors optimized and ready out-of-the-box with AutoML SDK API. These Feature Extractors are intended to cover general use cases without any need to write your own from scratch.
Parser
The first stage of document processing is a Parser. The Parser is an AutoML SDK component that removes HTML tags from training set documents and creates Elements in an AutoML SDK Document based on tags, thus defining the begin position and end position for each Element.
Perform advanced model tuning in AutoML UI
As you train a model in the AutoML interface, you can fine-tune it with additional parameters using the Advanced parameters JSON editor.
Perform sensitivity analysis and model explanations
What is sensitivity analysis?
Post-processing
Post-processing is the final stage of the AutoML SDK pipeline that takes place after model training. Post-processing modifies the trained model output to fit the customer requirements by applying pre-defined rules, in rare cases, based on a separate machine learning (ML) model.
Post-processing acceleration
Normalizer Search Engine tests different combinations of normalizers for each field to select an optimal chain. The final choice is the most useful and the safest for a particular case. This minimizes the practice of designing custom post-processors so that machine learning engineers do not have to create a post-processor in the majority of the cases.
Post-processing examples
The page provides a number of post-processor examples covering a variety of use cases.
Prepare dataset
Training set
Prepare environment for Python development
For basic instructions on setting up a dev environment, refer to Extend AutoML SDK with Python classifiers.
Prepare for labeling
Goal: Train SMEs to label the documents properly to ensure high-quality dataset and to prepare documents for labeling
Prepare labeling dataset
Dataset requirements
Prepare Python
To prepare a distribution bundle for setting up a custom environment in a cluster on an Agent, build Python and fetch dependencies as described below.
Prepare team for labeling
Goal: To prepare the SME team for labeling documents.
Report
Goal: Report the ML quality to the customer and communicate poor results, if any, in an accurate yet positive way, and propose further solutions.
Results analysis
Goal: To analyze the results of the machine learning (ML) model and propose ways to improve them.
Run experiments
To access the lists of training and test runs and explore their details, select AutoML > Experiments. Control Tower updates the lists every time you start a training or a test accordingly.
See end-to-end automated process
Reminder note on problem statement
Set up custom Python environment
Work.AI supports the Python 3.7.9 environment with pre-installed dependencies for the available set of Python3-based models (for Adverse Media Monitoring and Payment Sanctions Screening).
Split training and test sets
Goal: Provide appropriate documents for model training and estimation.
Split training set and test set
Goal: Split verified documents into two parts for model training and testing.
Start from Archetype
ML Archetypes location
Statistics
To better understand the model results, AutoML SDK provides comprehensive statistics for further analysis and model tuning.
Test model execution locally
To check the model quality, you can prepare a test set of documents and run execution locally. ModelEvaluationRunner.java contains logic similar to that of the training runner.
Train and execute custom Python model
For details of AutoML SDK configuration, refer to the Get started with AutoML SDK section.
Train model locally
A model generated from an Archetype contains a local runner that allows training the configured model. The runner is located at ../run/ModelTrainingRunner.java.
Train SMEs
Goal of the step: Train Subject Matter Experts (SMEs) to provide a high level of labeling accuracy for collecting a quality dataset.
Understand business logic and input documents
Report
View AutoML compatibility matrix
WorkFusion supports software versions as long as it is possible without hindering the development of new features and applying cutting-edge technologies. When upgrading to the latest version of the Work.AI platform, make sure it is compatible with your current AutoML Server and AutoML SDK version.
View code examples
Create NER Annotators
View ML engineer tasks
The machine learning engineer (ML engineer) is one of the most technically skilled roles. The ML engineer background should include completed end-to-end Java-based projects and experience in creating business applications, rolling them out to production, and dealing with environment challenges.
View normalizer setup example
The article illustrates how you can set up normalizers via AutoML UI to achieve a better-quality model output for a dataset.
View tutorial on using no-code Model steps
The article is a tutorial on how to create an end-to-end Business Process (BP) for information extraction (IE), comprising the following steps:
Work with ML Ops Platform
ML Ops Platform, built on top of Kubernetes, is an optional add-in to our core Product. For instructions on installing the add-in and modifying the cluster configuration, read the guide.