Skip to main content

Bitfount Task Elements

The Bitfount package comes pre-installed with a number of default task elements. Bitfount uses the term task element to describe components required to execute a given activity within the Bitfount platform. Most task elements are authorised by default, however, it’s important to understand a given role permission for the Pod before authorising or attempting to use task elements.

Please check that you have upgraded to the latest Bitfount version to ensure you are able to leverage all of the task elements described in this section.

Task elements include:

  • Protocols: A protocol defines how communication is orchestrated between Pods and the Data Scientist.
  • Algorithms: An algorithm defines what computation is done on each Pod at each iteration of a protocol.
  • Models: A model is a parameter to Model-based algorithms. For this class of algorithm, the model is the model architecture used for doing the analysis.
  • Transformations: A transformation is a parameter used to manipulate datasets prior to task execution to ensure their format matches the required format for the task.

Each of the sub-pages in this section explores the most up-to-date list of built-in Bitfount task elements by element type. Click the pages above to learn more!

Task Configuration Parameters

Once you are ready to run a task, you can familiarise yourself with the task configuration parameters in the table below. If you leverage the default Bitfount protocols and algorithms, you do not have to specify these parameters. For more details on task configuration parameters, see the API Reference.

Parameter NameDescriptionAccepted Values
pod_identifierThe Pod or list of Pods that holds the data on which you want to train. This can be found in the Bitfount Hub and is the identifier ({pod_owner_username}/{pod_name} in the URL for the relevant Pod’s page. This can also be copied from under the display name on the Pod’s page. Be sure to capture both the username and Pod name when inputting this parameter.Typically alphanumeric based on Pod name.
datastructureThe structure of the data on which you will train the model. This should contain the target column, columns to select, and columns to ignore for training.Typically taken from schema. i.e. datastructure=DataStructure(target="TARGET", table="adult-demo")
schemaThe schema config specified for the Pod. This should have already been specified by the Pod owner, so you can use the get_pod_schema command to specify.get_pod_schema(pod_identifier)
protocolThe protocol to use. Note: The chosen protocol must have been permissioned by the Pod owner.Any supported protocol. i.e. FederatedAveraging
algorithmThe algorithm to use. Note: The chosen algorithm must be accessible given your assigned role in relation to the specified Pod.Any supported algorithm. i.e. Train
aggregator{optional} The secure aggregator to leverage in the event you choose a protocol requiring aggregator specification.i.e. bitfount.federated.aggregators.aggregator._ModellerSide
modelThe model you want to train.See “Training Models” Tutorials for examples.
model_hyperparametersThe settings used by the modeli.e. hyperparameters: Optional[_StrAnyDict] = None