logoAiPathly

ML Performance Architect

first image

Overview

The role of a Machine Learning (ML) Performance Architect is a specialized and crucial position in the AI industry, focusing on optimizing the performance, power efficiency, and overall architecture of machine learning systems. This role bridges the gap between hardware and software integration, ensuring optimal performance of AI and ML workloads. Key responsibilities include:

  • Performance evaluation and optimization of AI/ML workloads
  • Architectural design and exploration for next-generation hardware
  • Algorithm development and analysis for ML/AI compilers and hardware features
  • Hardware-software co-design for optimal integration
  • Cross-functional collaboration with various teams Educational requirements typically include a master's or Ph.D. in Computer Science, Engineering, or a related field, although extensive experience may sometimes substitute for advanced degrees. Technical skills required include proficiency in programming languages like C++, Python, and familiarity with ML frameworks such as TensorFlow and PyTorch. Key qualifications for success in this role include:
  • Strong problem-solving and analytical skills
  • Excellent communication abilities
  • Adaptability and strategic thinking
  • Expertise in computer architecture and digital circuits
  • Experience with hardware simulators and ML model training The work environment often involves a hybrid model, combining on-site and remote work. Compensation is typically competitive, with salaries ranging from $150,000 to over $223,000 annually, often accompanied by additional benefits and bonuses. In summary, the ML Performance Architect role demands a unique blend of technical expertise in both software and hardware aspects of machine learning systems, coupled with strong analytical and communication skills. This position is critical in driving innovation and efficiency in AI technologies.

Core Responsibilities

Machine Learning (ML) Performance Architects play a vital role in optimizing AI systems. Their core responsibilities include:

  1. Performance Evaluation and Optimization
  • Assess and enhance the efficiency of advanced AI workloads
  • Evaluate existing and future System-on-Chip (SoC) architectures
  • Identify and address performance bottlenecks
  1. Architectural Design and Exploration
  • Conduct design space exploration for next-generation hardware
  • Influence SoC architecture decisions to optimize Power, Performance, and Area (PPA)
  • Develop new architectural features for enhanced performance
  1. Simulation and Modeling
  • Create simulations of network hierarchies and multi-core architectures
  • Perform performance modeling of IP blocks
  • Conduct system-level simulations for novel processor technologies
  1. Software-Hardware Co-Design
  • Ensure optimal integration of software and hardware components
  • Collaborate with software engineers and architects to develop cutting-edge technologies
  1. Technical Expertise and Tool Utilization
  • Apply expertise in ML model training, quantization, sparsity, and preprocessing
  • Utilize programming languages such as PyTorch, TensorFlow, C/C++, and Python
  • Employ hardware description languages like Verilog and RTL
  1. Cross-Functional Collaboration
  • Work closely with various teams including architects, software engineers, and researchers
  • Drive concepts from prototypes to high-volume consumer products
  1. Advanced Model Handling
  • Train and optimize large-scale machine learning models
  • Apply in-depth knowledge of AI accelerators
  • Enhance computational efficiency of ML models These responsibilities require a strong technical background, excellent collaborative skills, and the ability to innovate in both hardware and software aspects of ML performance architecture. ML Performance Architects are at the forefront of advancing AI technology, constantly pushing the boundaries of what's possible in terms of speed, efficiency, and scalability.

Requirements

To excel as a Machine Learning (ML) Performance Architect, candidates should meet the following requirements: Educational Background:

  • Master's (MSc) or Ph.D. in Computer Science, Computer Engineering, or a relevant technical field
  • In some cases, a Bachelor's degree with equivalent practical experience may be acceptable Industry Experience:
  • Typically 5+ years of experience in performance architecture development for NPUs, GPUs, CPUs, or AI accelerators
  • Some roles may consider candidates with 4+ years of relevant experience Technical Expertise:
  1. Machine Learning:
    • Extensive experience in ML model training, quantization, sparsity, and preprocessing
    • Hands-on experience with large-scale ML model optimization
  2. Programming Skills:
    • Proficiency in C/C++, Python
    • Familiarity with ML frameworks such as PyTorch, TensorFlow, NCCL, and OpenMPI
  3. Hardware Design:
    • Competence in hardware description languages (HDLs) like Verilog and RTL
    • Experience with SystemC/TLM2 performance modeling
    • Knowledge of cycle-accurate full-system SoC performance model environments
  4. Performance Evaluation:
    • Ability to assess and optimize advanced AI workloads
    • Experience in design space exploration for next-generation hardware
  5. Software-Hardware Integration:
    • Expertise in software-hardware co-design
    • In-depth knowledge of AI accelerators and computational efficiency enhancement methods Soft Skills:
  • Strong problem-solving and analytical abilities
  • Excellent communication skills for cross-functional collaboration
  • Adaptability to work in dynamic, fast-paced environments
  • Strategic thinking and time management Work Environment:
  • Ability to work in a hybrid setting (on-site and remote)
  • Passion for high-performance kernel code implementation The ideal ML Performance Architect combines a strong technical foundation with extensive industry experience and the ability to seamlessly integrate software and hardware components for optimal AI model performance. This role is critical in pushing the boundaries of AI technology and requires continuous learning and adaptation to emerging trends and technologies.

Career Development

Developing a career as a Machine Learning (ML) Performance Architect requires a combination of education, technical expertise, and industry experience. Here's a comprehensive guide to help you navigate this career path:

Educational Foundation

  • A Master's degree or Ph.D. in computer science, computer engineering, or a related field is typically required.
  • This advanced education provides the necessary foundation in machine learning, hardware design, and complex problem-solving.

Technical Expertise

  • Proficiency in machine learning model training, quantization, and sparsity techniques
  • Mastery of popular ML frameworks such as PyTorch, TensorFlow, NCCL, and OpenMPI
  • Strong programming skills in C/C++ and Python
  • Knowledge of hardware description languages like Verilog and RTL
  • Experience with AI accelerators and methods to enhance computational efficiency

Industry Experience

  • Typically, a minimum of 5 years of experience in performance architecture development for NPUs, GPUs, CPUs, or AI accelerators
  • Hands-on experience with training and optimizing large-scale machine learning models
  • Proficiency in software-hardware co-design for optimal integration and performance

Key Responsibilities

  • Evaluate performance of advanced AI workloads
  • Conduct architectural design exploration for next-generation hardware
  • Develop simulations to support novel processor technologies
  • Troubleshoot and optimize software systems and hardware components

Essential Skills

  • Strong problem-solving abilities
  • Data collection and analysis for performance improvement
  • Strategy development for system optimization
  • Effective communication and collaboration with cross-functional teams

Career Growth Opportunities

  • Advancement to senior roles within ML and AI departments
  • Transition into related fields such as senior ML engineer or software architect
  • Opportunities to work on cutting-edge technologies in innovative environments

Professional Development

  • Stay updated with the latest advancements in ML, AI hardware, and software frameworks
  • Participate in industry conferences and workshops
  • Engage in continuous learning programs to enhance skills and knowledge

Compensation and Benefits

  • Competitive salary packages, often in the six-figure range
  • Additional benefits may include stock options and flexible working arrangements

By focusing on these areas and continuously improving your skills, you can build a successful and rewarding career as an ML Performance Architect, contributing significantly to the advancement of AI and hardware technologies.

second image

Market Demand

The role of ML Performance Architect, while not always explicitly titled as such, is in high demand across various industries. This demand is driven by the growing need for optimizing machine learning systems for performance and efficiency. Here's an overview of the market demand for this specialized role:

Growing Demand in AI and ML

  • Significant increase in demand for professionals skilled in machine learning optimization
  • Machine Learning Engineers, with similar responsibilities, are experiencing a 22% annual growth rate from 2023 to 2030
  • Increasing adoption of AI and ML across industries such as financial services, retail, and healthcare

Key Responsibilities in High Demand

  • Designing and optimizing ML models for performance and scalability
  • Collaborating with cross-functional teams to align ML models with business objectives
  • Evaluating and selecting appropriate technologies for performance optimization
  • Monitoring and improving ML model performance throughout their lifecycle

Essential Skills Sought by Employers

  • Strong programming skills, particularly in languages used for ML (e.g., Python, C++, Java)
  • Solid foundation in mathematics and statistics
  • Extensive experience with ML frameworks and tools
  • Knowledge of ML operations best practices
  • Expertise in performance optimization techniques for AI systems
  • Rapid advancement in AI technologies requiring specialized optimization skills
  • Increasing complexity of ML models and datasets
  • Growing focus on edge computing and efficient AI deployment
  • Rising importance of AI ethics and responsible AI development

Emerging Opportunities

  • Specialized roles in AI hardware optimization
  • Positions focused on energy-efficient AI solutions
  • Roles combining ML performance optimization with cloud computing expertise

Challenges in Meeting Demand

  • Shortage of professionals with the required combination of ML and hardware optimization skills
  • Rapidly evolving field requiring continuous learning and adaptation
  • Increasing competition for top talent among tech giants and startups

While the specific title 'ML Performance Architect' may not always be used, the skills and expertise associated with this role are highly sought after in the current job market. Professionals who can effectively optimize ML performance are well-positioned for numerous opportunities in the growing field of AI and machine learning.

Salary Ranges (US Market, 2024)

While specific salary data for 'ML Performance Architect' roles may not be widely available, we can infer salary ranges based on similar positions in the machine learning and AI architecture fields. Here's a comprehensive overview of salary ranges for related roles in the US market for 2024:

ML Performance Architect (Estimated)

  • Median Salary: $185,000 - $205,000
  • Salary Range: $150,000 - $230,000
  • Top End: Up to $260,000 or more in tech hubs or high-demand industries *These estimates are based on comparable roles and industry trends.

$### Machine Learning Architect

  • Median Salary: $171,000 (global figure, likely higher in the US)
  • Salary Range: $152,000 - $224,100 (global range, US likely at upper end)

$### AI Solution Architect

  • Median Salary: $195,523
  • Salary Range: $144,650 - $209,600

$### Machine Learning Engineer

  • Average Base Salary: $157,969
  • Average Total Compensation: $202,331 (including additional cash compensation)
  • Salary Range: $70,000 - $285,000
  • Most Common Range: $200,000 - $210,000

$### Factors Affecting Salary

  • Location: Tech hubs like San Francisco, New York City, and Seattle often offer higher salaries
  • Experience: Senior roles command higher compensation
  • Industry: Finance, tech, and healthcare sectors may offer premium salaries
  • Company Size: Large tech companies often provide higher salaries and better benefits
  • Education: Advanced degrees (Ph.D.) can lead to higher starting salaries
  • Specialization: Expertise in high-demand areas (e.g., deep learning, NLP) can increase earning potential

$### Additional Compensation

  • Stock options or Restricted Stock Units (RSUs), especially in tech companies
  • Performance bonuses
  • Profit-sharing plans
  • Sign-on bonuses for in-demand candidates

$### Benefits and Perks

  • Health, dental, and vision insurance
  • 401(k) matching
  • Paid time off and flexible working arrangements
  • Professional development budgets
  • Remote work options

$### Salary Growth Potential

  • Annual increases typically range from 3% to 5%
  • Significant jumps (20% or more) possible when changing companies or moving to senior roles
  • Rapid salary growth in the first 5-10 years of career

$It's important to note that these figures are estimates and can vary based on individual circumstances, company policies, and market conditions. Professionals in this field should regularly research current salary trends and negotiate based on their unique skills and experience.

AI and machine learning (ML) are rapidly transforming various industries, with significant impacts on enterprise architecture, data management, and technological innovations. Here are key trends shaping the field:

AI and ML Integration in Enterprise Architecture

  • Automation of complex processes
  • Enhanced data analysis capabilities
  • Predictive insights for strategic decision-making
  • Improved efficiency and effectiveness in business operations

Advanced Data Management and Feedback

  • Robust data management crucial for ML solutions
  • Data feedback provisioning for continuous learning and model updates
  • Data as a core component throughout organizational architecture

Technological Advancements

  • Retrieval Augmented Generation (RAG) for scalable use of Large Language Models (LLMs)
  • AI-integrated hardware development (GPU infrastructure, AI-powered PCs, edge computing devices)
  • Exploration of Small Language Models (SLMs) for edge computing use cases

AI in Architectural Design and Construction

  • AI-powered generative design tools for rapid design alternatives
  • Optimization of layouts and sustainable material selection
  • Enhanced Building Information Modeling (BIM) and digital twins
  • Improved collaboration and project management
  • Sustainability-driven optimizations in resource allocation and energy efficiency

These trends underscore the pervasive impact of ML and AI across industries, highlighting the importance of staying current with technological advancements to maintain competitiveness and drive innovation in the AI field.

Essential Soft Skills

Success as an ML Performance Architect requires a blend of technical expertise and crucial soft skills. Here are the key soft skills essential for excelling in this role:

Communication

  • Articulate complex technical concepts clearly
  • Convey ideas effectively to diverse audiences (collaborators, stakeholders, experts)
  • Strong oral and written communication skills

Leadership and Project Management

  • Oversee project development and coordinate teams
  • Define and communicate vision
  • Make decisions aligned with business objectives
  • Organize and prioritize tasks effectively

Problem-Solving and Critical Thinking

  • Resolve technical and human-related challenges
  • Evaluate multiple solutions and choose the most efficient
  • Apply reasoning and experience to understand complex issues

Adaptability and Strategic Thinking

  • Remain flexible in rapidly changing environments
  • Envision overall solutions and their impact
  • Anticipate obstacles and prioritize critical areas for success

Business Acumen and Negotiation

  • Understand business problems and customer needs
  • Prioritize decisions that influence economic success
  • Negotiate project timelines, resources, and stakeholder expectations

Collaboration and Knowledge Sharing

  • Foster a collaborative environment
  • Share knowledge to build high-quality teams
  • Take initiative and ensure project progress despite obstacles

Coping with Ambiguity

  • Reason and adapt plans based on limited information
  • Navigate environments with competing ideas and unclear outcomes

By combining these soft skills with technical expertise, ML Performance Architects can effectively manage projects, collaborate with teams, and drive successful outcomes in the dynamic field of AI and machine learning.

Best Practices

Implementing best practices in machine learning (ML) architectures is crucial for ensuring optimal performance, reliability, and scalability. Here are key practices across various aspects of the ML lifecycle:

Data Quality and Preparation

  • Continuously monitor input data quality
  • Implement data validation checks and alerts
  • Detect and address concept drift and data drift

Model Development and Training

  • Use appropriate training and testing set splits
  • Employ cross-validation techniques
  • Select and engineer relevant features
  • Optimize hyperparameters using techniques like grid search or Bayesian optimization

Performance Efficiency

  • Choose efficient instance types for training and inference
  • Explore hardware accelerators (GPUs, TPUs) when applicable
  • Establish a continuous model performance evaluation pipeline

Real-Time and Scalable Architectures

  • Implement real-time monitoring for immediate performance assessment
  • Design for scalability using containers and orchestration platforms
  • Utilize event-based training and online serving architectures for real-time scenarios

Resource Optimization and Cost Management

  • Leverage efficient software implementations and hardware accelerators
  • Use managed services to reduce ownership costs
  • Take advantage of infrastructure discounts (e.g., AWS Reserved Instances)

MLOps and Continuous Improvement

  • Implement centralized monitoring infrastructure
  • Establish feedback loops between monitoring and retraining
  • Document evaluation processes for reproducibility and collaboration
  • Automate deployment and integrate continuous training

By adhering to these best practices, ML performance architects can ensure their models remain reliable, efficient, and scalable while maintaining optimal performance over time. Regular review and adaptation of these practices are essential to stay current with evolving technologies and methodologies in the field of AI and machine learning.

Common Challenges

ML Performance Architects face various challenges when designing, deploying, and maintaining machine learning systems. Understanding these challenges is crucial for developing effective solutions:

Model Performance and Reliability

  • Model drift and staleness due to changing data distributions
  • Train-predict inconsistency between development and production
  • Data shift and concept drift impacting model accuracy over time

Scalability and Resource Management

  • Scaling models to handle large data volumes and traffic
  • Efficient management of compute resources, especially for large models
  • Balancing high-performance infrastructure with cost efficiency

Development and Deployment

  • Ensuring reproducibility and environment consistency across stages
  • Automating deployment processes and integrating continuous training
  • Addressing infrastructure and software compatibility issues

Testing and Monitoring

  • Implementing thorough testing and validation of ML models
  • Real-time monitoring of deployed models to meet SLAs
  • Detecting and addressing performance degradation promptly

Security and Compliance

  • Protecting sensitive data and adhering to regulatory requirements
  • Preventing biases and ethical issues in models
  • Ensuring model explainability and fairness

Architectural Design and Planning

  • Balancing various quality requirements (accuracy, fairness, explainability)
  • Designing for availability, scalability, and modifiability
  • Integrating ML systems with existing enterprise architecture

Data Management

  • Ensuring data quality and freshness, especially in real-time scenarios
  • Managing feature staleness and its impact on model performance
  • Implementing effective data pipelines for continuous learning

Addressing these challenges requires a holistic approach, combining technical expertise with strategic planning and continuous improvement. ML Performance Architects must stay informed about emerging solutions and best practices to effectively navigate these complex issues in the rapidly evolving field of AI and machine learning.

More Careers

Data Management Specialist Securities & Market

Data Management Specialist Securities & Market

As a Data Management Specialist in the securities and market sector, you play a vital role in ensuring the efficient operation and decision-making of financial institutions, investment firms, and other market participants. This overview outlines key aspects of your job and the broader securities and market environment. ### Key Responsibilities 1. **Data Collection and Integration**: Gather and integrate data from various financial sources, ensuring accuracy and integrity. 2. **Data Storage and Management**: Design and maintain databases and data warehouses, ensuring compliance with regulations and security standards. 3. **Data Analysis and Reporting**: Develop reports and perform analytics to support business decisions and identify market trends. 4. **Data Quality and Governance**: Implement data quality checks and enforce governance policies to ensure consistency and compliance. 5. **System Maintenance**: Maintain and troubleshoot data management systems, collaborating with IT teams as needed. 6. **Compliance**: Ensure data management practices adhere to regulatory requirements such as GDPR, MiFID II, and SEC regulations. ### Securities and Market Overview #### Market Structure - **Exchanges and Trading Platforms**: Understand the role of stock exchanges, commodity exchanges, and over-the-counter (OTC) markets. - **Market Participants**: Include investors, brokers, dealers, hedge funds, mutual funds, and other financial institutions. #### Financial Instruments - Equities, fixed income, derivatives, commodities, and currencies #### Market Trends and Drivers - Economic indicators, geopolitical events, technological advancements, and regulatory changes #### Risk Management - Market risk, credit risk, operational risk, and compliance risk ### Tools and Technologies - Database Management Systems (SQL, NoSQL) - Data Analytics Tools (Excel, Python libraries, R, Tableau, Power BI) - Data Integration Tools (ETL tools like Informatica, Talend) - Cloud Services (AWS, Azure, Google Cloud) - Machine Learning and AI for predictive analytics ### Skills and Qualifications - Technical proficiency in programming languages and data analysis tools - Strong analytical and communication skills - Relevant certifications such as Certified Data Manager (CDM) or Certified Analytics Professional (CAP) In this role, you'll be at the forefront of managing and leveraging financial data to drive informed decision-making and effective risk management in the dynamic world of securities and markets.

Data Scientist Analytics

Data Scientist Analytics

Data Scientists specializing in analytics play a crucial role in extracting valuable insights from data to drive business decisions and innovation. This overview provides a comprehensive look at the key aspects of this role. ### Role and Responsibilities - Extract insights from structured and unstructured data - Collect, clean, and preprocess data - Conduct data analysis using statistical methods and visualization tools - Develop and train machine learning models - Generate actionable insights and communicate findings to stakeholders - Provide recommendations based on data analysis ### Key Skills 1. Technical Skills: - Programming (Python, R, SQL) - Data manipulation and analysis libraries - Machine learning frameworks - Data visualization tools 2. Analytical Skills: - Statistical analysis and probability - Data modeling and mining techniques 3. Soft Skills: - Communication and presentation - Collaboration and teamwork - Problem-solving and critical thinking ### Tools and Technologies - Programming: Python, R, SQL - Data Analysis: Pandas, NumPy, Matplotlib, Scikit-learn - Machine Learning: TensorFlow, PyTorch - Visualization: Tableau, Power BI, D3.js - Big Data: Hadoop, Spark, NoSQL databases - Cloud Platforms: AWS, Azure, Google Cloud Platform - Version Control: Git ### Data Science Process 1. Business Understanding 2. Data Understanding 3. Data Preparation 4. Modeling 5. Evaluation 6. Deployment 7. Feedback and Refinement ### Industry Applications - Healthcare: Predictive analytics, disease diagnosis - Finance: Risk analysis, credit scoring - Marketing: Customer segmentation, campaign optimization - Retail: Demand forecasting, inventory management - Transportation: Route optimization, autonomous vehicles ### Challenges and Trends - Data privacy and ethics - Big data and real-time analytics - Model explainability and transparency - AI integration and automation - Cloud computing adoption By understanding these aspects, Data Scientists can effectively leverage data to drive innovation and improve business outcomes across various industries.

Data Science Engineer Principal

Data Science Engineer Principal

A Principal Data Science Engineer is a senior-level professional who combines advanced technical skills in data science, engineering, and leadership to drive innovative solutions and strategic decisions within an organization. This role represents a pinnacle in the technical career path for data science professionals. ### Key Responsibilities - Technical Leadership: Lead teams in designing, developing, and deploying complex data-driven systems - Architecture and Design: Define and implement scalable, high-performance data system architectures - Model Development and Deployment: Oversee machine learning model lifecycles - Data Engineering: Ensure robust data infrastructure and pipeline design - Innovation and R&D: Explore cutting-edge technologies and methodologies - Collaboration and Communication: Work with cross-functional teams to align data initiatives with business goals - Mentorship and Training: Guide junior team members and foster skill development - Quality Assurance: Implement rigorous testing and monitoring processes ### Skills and Qualifications - Technical Skills: Proficiency in programming languages (Python, Java, Scala), machine learning frameworks, data engineering tools, and cloud platforms - Data Science Expertise: Advanced knowledge of statistical modeling, machine learning algorithms, and data visualization - Leadership and Soft Skills: Strong team management, communication, and strategic thinking abilities - Education and Experience: Typically requires a Master's or Ph.D. in a relevant field and 8-12 years of experience ### Career Path 1. Data Scientist 2. Senior Data Scientist 3. Data Science Engineer 4. Lead/Manager Data Science Engineer 5. Principal Data Science Engineer This role demands a unique blend of deep technical expertise, strong leadership skills, and the ability to drive strategic initiatives within an organization.

Data Science Lead Clinical

Data Science Lead Clinical

As a Data Science Lead in a clinical setting, you play a pivotal role in leveraging data and analytics to drive decision-making, improve patient outcomes, and optimize healthcare processes. This overview outlines the key aspects of this critical position: ### Key Responsibilities 1. **Data Strategy and Governance**: Develop and implement data strategies aligned with organizational goals, ensuring data quality, security, and regulatory compliance. 2. **Data Collection and Integration**: Oversee the collection and integration of clinical data from various sources, creating a unified view. 3. **Advanced Analytics**: Lead the development of predictive and prescriptive models to analyze patient outcomes, disease progression, and treatment efficacy. 4. **Insight Generation**: Collaborate with stakeholders to generate actionable insights and develop effective reports and visualizations. 5. **Clinical Decision Support**: Design and implement data-driven systems to aid healthcare providers in decision-making. 6. **Research and Innovation**: Stay abreast of advancements in data science and healthcare technology, exploring new methodologies to improve clinical outcomes. 7. **Team Leadership**: Lead a team of data professionals and collaborate with cross-functional teams to ensure effective implementation of data-driven initiatives. 8. **Ethics and Compliance**: Uphold ethical standards and regulatory requirements in all data practices. ### Skills and Qualifications - **Technical Expertise**: Proficiency in programming languages (Python, R, SQL), machine learning frameworks, data visualization tools, and big data technologies. - **Domain Knowledge**: Understanding of clinical practices, medical terminology, and healthcare regulations. - **Soft Skills**: Strong communication, leadership, and problem-solving abilities. - **Education**: Advanced degree in data science, computer science, statistics, or a related field. - **Experience**: Significant experience in healthcare data science. ### Tools and Technologies - **Data Management**: Relational and NoSQL databases, data warehousing solutions - **Analytics and Machine Learning**: Python and R libraries, machine learning frameworks - **Data Visualization**: Tableau, Power BI, D3.js - **Big Data and Cloud Computing**: Hadoop, Apache Spark, AWS or Google Cloud Platform ### Challenges and Opportunities - Ensuring data quality and integration from diverse sources - Navigating complex healthcare regulations - Fostering effective interdisciplinary collaboration - Leveraging emerging technologies like AI, blockchain, and IoT By addressing these challenges and capitalizing on opportunities, a Data Science Lead can significantly contribute to advancing healthcare services, improving patient outcomes, and driving innovation in the clinical setting.