This series focuses on tools, methodologies, and concerns related to implementing machine learning, deep learning, image recognition, pattern recognition and other forms of artificial intelligence as well as efficiently storing, handling, and analyzing large datasets and databases from a wide range of sources.
Artificial intelligence is permeating software development in many ways and many industries, which necessitates a thorough knowledge of how developers are doing this.
This volume includes research and analysis covering topics such as developer demographics and firmographics, artificial intelligence landscape, concepts, methods and approaches, resources and services, conversational systems, enterprise AI, security, platform adoption, API and frameworks, tools and languages, hardware, hardware optimization, parallelism and performance, AI, the cloud and IoT, AI and containerization, domain focuses for AI and ML and more.
This syndicated series, focuses on tools, methodologies, and concerns related to implementing machine learning, deep learning, image recognition, pattern recognition and other forms of artificial intelligence as well as efficiently storing, handling, and analyzing large datasets and databases from a wide range of sources. Topics include collaboration in Big Data & data science, advanced analytics tools and services, landscape for AI, decision-making for AI & Big Data, enterprise AI, barriers and challenges for AI, data analytics, AI concept and approaches, AI methods, AI and hardware infrastructure optimization, databases & data warehousing, real-time events and time series processing, parallelism & AI development, and operating systems and languages.
- Objectives of the Survey
- Survey Methodology
- Research Design
- Relative Rankings
- The Sample – Artificial Intelligence and Machine Learning Developers
Chapter 1 Demographics & Firmographics
- Involvement with Programming
- Developer Segment
- Job Description
- Company Size
- Company Age
- Team Size
- Team Composition
- Development Targets for AI
Chapter 2 The AI Landscape
- Is AI for New or Existing Projects?
- Interaction of Legacy Apps and Native AI Apps
- AI Workloads
- Importance of Various Technologies within AI and Machine Learning
- Industry Expectations for AI and ML
- AI/ML Use Cases for Various Industries
- Plans for Using Quantum Computing with AI or Machine Learning
- Skill Improvement for AI Development
- Vendors Associated with AI – Unaided Awareness
- Best Positioned Companies for Machine Learning – Aided Awareness
- Vendors Associated with AI News: Share of Voice – Aided Awareness
- Vendors Associated with AI Ads: Share of Voice – Aided Awareness
- Where Do Developers See AI Advertisements?
- Is AI Advertising Believable?
- Believability of AI Advertising by Job Role
- Credibility of AI Advertising
- What Makes AI Advertising Credible?
Chapter 3 Concepts, Methods & Approaches
- Learning by On-going Inference vs. Training
- Type of Training Required by Machine Learning Models
- Adoption of AI and Machine Learning Disciplines
- Involvement in AI/ML
- Top Challenges When Training AI Models
- Top Challenges in Training Models by Training vs. Inference
- Top Challenges When Developing AI Apps
- Top Challenges in AI Development by Training vs. Inference
- Typologies Used for Machine Learning and Deep Learning
- Frequency of Writing Neural Network Kernels
- Importance of Various Types of AI and ML Procedures
- AI Models Used
- Use of Machine Learning Notebooks
- Use of Technologies for AI or Machine Learning Development
- Working with Data
- Familiarity with Robotics Process Automation
- Familiarity with RPA by Job Description
- Use of RPA in Deployments
Chapter 4 Resources & Services
- Most Important Factors Determining Purchase
- Information Sources for Learning about AI and Machine Learning
- Most Important Vendor Resources for AI or Machine Learning
- Most Important Vendor Resources by Company Size
- Resources for Expanding AI Capabilities
- Code Resources for AI and ML
- Useful Code Samples for AI and ML
Chapter 5 Development Lifecycle
- Length of Software Development Lifecycle for AI/ML Projects
- Length of SDL by Developer Segment
- Current Status of AI or Machine Learning Project
- Use of AI and Machine Learning Projects
- Who Uses Production AI Models?
- Hosting of AI Solutions Used by Outside Businesses
- Typical Business Model for Apps
- Application Testing When Machine Learning Models are Redeployed
- Testing Techniques for Embedded Machine Learning Models
- Who is Responsible for Provisioning Infrastructure for AI Projects?
- Use of Development Pipeline for AI Projects
- CI/CD Pipeline Tools Used
- Model Training Targets
- How Do Target Times Change from Early Development to Production?
- How Do Target Times Change by Model Training Targets
- Training Product Lifecycle
- Who Provides Input on Model Retraining?
- Who Provides Input on Model Retraining? by Training Product Lifecycle
- Use of Tools to Monitor AI Models in Production
- How Many End Users Use AI Models?
Chapter 6 Enterprise AI
- Type of Vertical Apps Augmented by AI and ML
- Will AI Replace Existing Business Processes?
- Is Legacy Technology a Barrier to Adopting AI or Machine Learning?
- Industries Addressed by AI or Machine Learning Solutions
- Involvement in Selecting AI or Machine Learning Solutions
- Technology Decision-making for AI or Machine Learning
- Influence on Development Platform Adoption Decisions
- Influence on Deployment Platform Adoption Decisions
- Stakeholders in AI Decision-making
- Approaches to Updating Legacy Apps with AI Capabilities
- Expectations for Legacy Apps to Incorporate AI Functions
- Use of AI to Solve an Industry Problem
- Use of AI to Solve an Industry Problem by Company Size
- Focus of Industrial AI Deployment
Chapter 7 Security
- Most Important Security Considerations in the Next Three Years
- Most Helpful Vendor Resources for Securing Data
- Most Important Types of Data to Analyze for Data Security
- Open Source Vulnerabilities
Chapter 8 Platform Adoption
- Primary Host Operating System
- Primary Host Operating System Next Year
- Native vs. Virtual Primary Host OS
- Use of Other Host Operating Systems Today
- Use of Other Host Operating Systems Next Year
- Primary Linux Distribution Used
- Operating Systems Targeted for AI or Machine Learning
- Primary Linux Distribution Targeted for AI or Machine Learning
- Endpoints of AI or Machine Learning Apps
- Are Platform Targets Stable from Project to Project?
- Top Reason for Selecting a Cloud Platform for AI/ML Projects
- Top Reason for Selecting a Cloud Platform by Job Role
- Top Reason for Selecting a Hardware Platform for AI/ML Projects
- Top Reason for Selecting a Hardware Platform by Job Role
Chapter 9 APIS And Frameworks
- Types of APIs Used for AI or Machine Learning
- Are APIs Used for Training or On-going Inference?
- Rationale for Integrating Vendors’ APIs into your AI Apps
- Biggest Barrier to Using a Vendor’s API in AI Apps
- Most Restrictive Licensing
- Top Characteristics of Machine Learning Frameworks
- Use of Frameworks vs. Custom-made Algorithms for Machine Learning
- Access to Custom Frameworks
- Use of AI and Machine Learning Frameworks
- Satisfaction with Machine Learning Libraries
- Satisfaction with Machine Learning Libraries by Company Size
Chapter 10 Tools & Languages
- Languages Used for AI or Machine Learning
- Use of Python IDE
- Python IDEs Used
- Use of Tools for End-to-End Machine Learning Flow
- Use of Tools for End-to-End Machine Learning Flow by Inference vs. Training
- Plans for Using Analysis Tools for Particular Tasks
- Use of High-Performing Toolkits
- Math or Scientific Libraries Used for Machine Learning
Chapter 11 Hardware
- Hardware Constraints in AI Development Efforts
- Importance of Hardware to Machine Learning Projects
- Performance vs. Efficiency in Compute Intensive Projects
- Do Datasets Require CPUs?
- Plans for a Heterogeneous Hardware Approach
- Limitations of Using a Heterogeneous Hardware Approach
- Limitations by Plans for a Heterogeneous Hardware Approach
- Use of Specific Heterogeneous Hardware Technologies
- Use of SYCL for Machine Learning
- Reasons for Using CUDA
- CUDA Concerns
- Use of AI or Machine Learning to Address SDN
- SDN and NFV Functions
Chapter 12 Hardware Optimization
- Optimizing AI Projects for Hardware Architectures
- Chipsets Targeted for AI Optimization
- Chipset Optimization Preference
- Reason for Optimizing for GPUs
- Reason for Optimizing for FPGAs
- Is Support for Multiple Chipsets Required?
- Reason for Optimizing for CPUs
- Reason for Not Optimizing for CPUs
Chapter 13 Parallelism And Performance
- Use of Parallelism for AI or Machine Learning
- Task or Data Parallelism
- Issues with Parallel Programming
- Resources for Implementing Parallelism
- Importance of Performance Portability
- Most Important Features of Tools for Acceleration and Parallelization
- Any Use of Performance Tooling in Machine Learning Projects?
- Selection of Performance Tooling for Machine Learning Projects
Chapter 14 AI, The Cloud, And IOT
- Projects That Intersect With IoT Projects
- Machine Learning in Connected Device Projects
- IoT Project Benefits from Machine Learning
- Where do Inferences Occur in AI/ML Projects?
- Where Do AI Jobs Run in a Typical Project?
- Where do AI Jobs Run by Learning by Inference vs. Training
- Where do AI Jobs Run by AI Workloads
- Endpoints for AI Projects
- Cloud Vendors Used for Developing Machine Learning Models
- Cloud Vendors Used for Deploying Machine Learning Models
- Use of Cloud-based Backend for AI Needs
Chapter 15 AI And Containerization
- Use of Containers to Deploy AI or Machine Learning Models
- Container Orchestration for AI or Machine Learning Workloads
- Container Orchestration Tools Used
- How Many Developers are Running Kubernetes in the Cloud?
- Kubernetes’ Services Used
- When Will Deep-Learning Containers Be Widely Adopted?
- Delivery of AI or Machine Learning Project as Microservices
Chapter 16 Domain Focuses For AI And Machine Learning
- Development of Conversational Systems
- Type of Apps Targeted with Conversational Systems
- Use of Text Classification Algorithms for Conversational Systems
- User Interface Used for Conversational Systems
- Use of Image Recognition
- Use of Image Recognition by Developer Segment
- Image Recognition Domain Focus
- Industrial Use Cases of Image Recognition
- Workloads for Industrial Machine Vision Projects
A Deeper Dive into the Artificial Intelligence Landscape
New topics within this retooled section include the interaction of legacy applications and native AI applications, the use cases and demands that specific industries have of AI and machine learning, and plans for quantum computing with AI or machine learning apps. Additionally, this section explores awareness of AI and machine learning news and advertisements, as well as what makes AI and machine learning ads credible.
Further Examination of AI Concepts, Methods, and Approaches
New topics within this section include distinguishing between the top challenges when training AI models and the top challenges when developing AI applications, the types of training required of machine learning models, and familiarity with robotic process automation (RPA).
Extended Exploration of the Software Development Lifecycle and AI
This section revisits the discussion of various aspects of the software development lifecycle, including new questions about AI projects’ end-users and the business models used when distributing AI projects to outside businesses and consumers. An entirely new portion of this section explores the timing and lifecycle of model training, including re-training and monitoring AI models. This question also has a new exploration of deployment and operations, including discussion of provisioning, the development pipeline, and CI/CD tooling.
Expanded Discussion of AI and the Enterprise
This section takes a deeper dive into the coexistence of legacy systems and native AI applications, including approaches used to updating legacy apps with AI capabilities and the barriers that legacy IT assets may pose to AI adoption. Also included in this section, a new analysis explores the use of AI to solve open industry problems.
Platform Adoption - Stability and Motivations
The latter portion of this section explores new questions surrounding endpoints for AI projects; the stability of various types of platform targets, including target operating systems, hardware architectures, and cloud platforms; and the top reasons for selecting cloud and hardware platforms.
A Deeper Dive Hardware for AI
This section includes a new analysis of hardware constraints in AI development efforts; the limitations of using a heterogeneous hardware approach; and exploration of CUDA use, including reasons for adopting CUDA and frustrations with CUDA.
Extended Exploration of Containerization and AI
We’ve added discussion of container orchestration tooling, including where Kubernetes is used, which Kubernetes services are used, and discussion of microservices use in AI projects.
There are many new and retooled questions throughout this report.