Skip to content

Commit

Permalink
Morpheus not "Morpheus SDK" (nv-morpheus#534)
Browse files Browse the repository at this point in the history
* Morpheus is an SDK, "Morpheus SDK" and "Morpheus SDK Client" are redundant
* We do have a helm chart named `morpheus-sdk-client`, so references to the helm chart retain the "sdk client".
* Update elevator pitch paragraph in `docs/source/index.rst` to match that of the `README.md`
* Add license comment to `README.md` and `CONTRIBUTING.md` files
* Includes changes from PR nv-morpheus#522

relates to issue nv-morpheus#495

Authors:
  - David Gardner (https://github.com/dagardner-nv)

Approvers:
  - Michael Demoret (https://github.com/mdemoret-nv)

URL: nv-morpheus#534
  • Loading branch information
dagardner-nv authored Dec 13, 2022
1 parent 01e51c0 commit f2c09b1
Show file tree
Hide file tree
Showing 9 changed files with 47 additions and 16 deletions.
17 changes: 17 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

# Contributing to Morpheus

Contributions to Morpheus fall into the following three categories.
Expand Down
17 changes: 17 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,20 @@
<!--
SPDX-FileCopyrightText: Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. All rights reserved.
SPDX-License-Identifier: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->

![NVIDIA Morpheus](./img/morpheus-banner.png "Morpheus banner image")

# NVIDIA Morpheus
Expand Down
14 changes: 7 additions & 7 deletions docs/source/cloud_deployment_guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ limitations under the License.
- [Installing Cloud Native Core Stack on NVIDIA Certified Systems](#installing-cloud-native-core-stack-on-nvidia-certified-systems)
- [Appendix B](#appendix-b)
- [Kafka Topic Commands](#kafka-topic-commands)
- [Using Morpheus SDK Client to Run Pipelines](#using-morpheus-sdk-client-to-run-pipelines)
- [Using Morpheus to Run Pipelines](#using-morpheus-to-run-pipelines)
- [Appendix C](#appendix-c)
- [Additional Documentation](#additional-documentation)
- [Troubleshooting](#troubleshooting)
Expand Down Expand Up @@ -440,7 +440,7 @@ To publish messages to a Kafka topic, we need to copy datasets to locations wher
kubectl -n $NAMESPACE exec sdk-cli-helper -- cp -R /workspace/examples/data /common
```

Refer to the Using Morpheus SDK Client to Run Pipelines section of the Appendix for more information regarding the commands.
Refer to the [Using Morpheus to Run Pipelines](#using-morpheus-to-run-pipelines) section of the Appendix for more information regarding the commands.

**Note**: Before running the example pipelines, ensure that the criteria below are met:
- Ensure that models specific to the pipeline are deployed.
Expand Down Expand Up @@ -821,9 +821,9 @@ kubectl -n $NAMESPACE exec deploy/broker -c broker -- kafka-topics.sh \
--topic <YOUR_KAFKA_TOPIC>
```

### Using Morpheus SDK Client to Run Pipelines
### Using Morpheus to Run Pipelines

The Morpheus SDK client allows you to configure several supported pipelines and provides flexibility to execute the pipeline in multithread mode.
Morpheus allows you to configure several supported pipelines and provides flexibility to execute the pipeline in multithread mode.

```bash
(morpheus) root@sdk-cli:/workspace# morpheus run --help
Expand Down Expand Up @@ -859,7 +859,7 @@ Four different pipelines are currently supported: a pipeline running an NLP mode
For details of running `pipeline-other`, please refer to the GNN Fraud Detection use case in the `examples` source directory.


The Morpheus SDK Client provides the commands below to run the NLP pipeline:
The Morpheus command line tool provides the commands below to run the NLP pipeline:

```bash
(morpheus) root@sdk-cli:/workspace# morpheus run pipeline-nlp --help
Expand Down Expand Up @@ -917,7 +917,7 @@ Commands:
validate Validate pipeline output for testing.
```

Morpheus SDK Client provides the commands below to run the FIL pipeline:
The Morpheus command line tool provides the commands below to run the FIL pipeline:

```bash
(morpheus) root@sdk-cli:/workspace# morpheus run pipeline-fil --help
Expand Down Expand Up @@ -973,7 +973,7 @@ Commands:
validate Validate pipeline output for testing.
```

Morpheus SDK Client provides the commands below to run the AutoEncoder pipeline:
The Morpheus command line tool provides the commands below to run the AutoEncoder pipeline:

```bash
(morpheus) root@sdk-cli:/workspace# morpheus run pipeline-ae --help
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ The data we will want to use for the training and inference will be any sensitiv
The location of these logs could be either local to the machine running Morpheus, a shared file system like NFS or on a remote store such as [Amazon S3](https://aws.amazon.com/s3/).

### Defining a New Data Source
Additional data sources and remote stores can easily be added using the Morpheus SDK. The key to applying DFP to a new data source is through the process of feature selection. Any data source can be fed into DFP after some preprocessing to get a feature vector per log/data point. In order to build a targeted model for each entity (user/service/machine... etc.), the chosen data source needs a field that uniquely identifies the entity we're trying to model.
Additional data sources and remote stores can easily be added using the Morpheus API. The key to applying DFP to a new data source is through the process of feature selection. Any data source can be fed into DFP after some preprocessing to get a feature vector per log/data point. In order to build a targeted model for each entity (user/service/machine... etc.), the chosen data source needs a field that uniquely identifies the entity we're trying to model.

Adding a new source for the DFP pipeline requires defining five critical pieces:
1. The user_id column in the Morpheus config attribute `ae.userid_column_name`. This can be any column which uniquely identifies the user, account or service being fingerprinted. Examples of possible user_ids could be:
Expand Down
2 changes: 1 addition & 1 deletion docs/source/getting_started.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Getting Started with Morpheus
There are three ways to get started with Morpheus:
- Using pre-built Docker containers
- [Using pre-built Docker containers](https://catalog.ngc.nvidia.com/orgs/nvidia/teams/morpheus/collections/morpheus_)
- Building the Morpheus Docker container
- Building Morpheus from source

Expand Down
5 changes: 1 addition & 4 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,7 @@
Welcome to Morpheus Documentation
=================================

NVIDIA Morpheus is an open AI application framework that provides cybersecurity developers with a highly optimized AI
pipeline and pre-trained AI capabilities that, for the first time, allow them to instantaneously inspect all IP traffic
across their data center fabric. Bringing a new level of security to data centers, Morpheus provides dynamic protection,
real-time telemetry, adaptive policies, and cyber defenses for detecting and remediating cybersecurity threats.
NVIDIA Morpheus is an open AI application framework that provides cybersecurity developers with a highly optimized AI framework and pre-trained AI capabilities that allow them to instantaneously inspect all IP traffic across their data center fabric. The Morpheus developer framework allows teams to build their own optimized pipelines that address cybersecurity and information security use cases. Bringing a new level of security to data centers, Morpheus provides development capabilities around dynamic protection, real-time telemetry, adaptive policies, and cyber defenses for detecting and remediating cybersecurity threats.

Features
--------
Expand Down
2 changes: 1 addition & 1 deletion examples/digital_fingerprinting/production/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ MLflow for this production digital fingerprint use case can be installed from NG
The deployment of the [Morpheus SDK Client](../../../docs/source/cloud_deployment_guide.md#install-morpheus-sdk-client) is also done _almost_ the same way as what's specified in the Quick Start Guide. However, you would specify command arguments differently for this production DFP use case.
NOTE: The published SDK image includes a minimal set of packages for launching JupyterLab but you will likely still want to update the conda environment inside the running pod with the `conda_env.yml` file in this same directory to install other use case dependencies such as boto3 and s3fs.
NOTE: The published Morpheus image includes a minimal set of packages for launching JupyterLab but you will likely still want to update the conda environment inside the running pod with the `conda_env.yml` file in this same directory to install other use case dependencies such as boto3 and s3fs.
#### Notebooks
Expand Down
2 changes: 1 addition & 1 deletion examples/log_parsing/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@

# Example cyBERT Morpheus Pipeline for Apache Log Parsing

Example Morpheus pipeline using Docker containers for Triton Inference server and Morpheus SDK/Client.
Example Morpheus pipeline using Triton Inference server and Morpheus.

### Set up Triton Inference Server

Expand Down
2 changes: 1 addition & 1 deletion examples/ransomware_detection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ limitations under the License.

# Example Ransomware Detection Morpheus Pipeline for AppShield Data

Example Morpheus pipeline using Docker containers for Triton Inference server and Morpheus SDK/Client.
Example Morpheus pipeline using Triton Inference server and Morpheus.

## Setup Triton Inference Server

Expand Down

0 comments on commit f2c09b1

Please sign in to comment.