Method, architecture, apparatus and system for distributed artificial intelligence
By managing the split point set on user equipment and combining network-side collaborative management, the flexibility and efficiency of split point management in distributed artificial intelligence systems are solved, and more efficient resource utilization and reduced service interruption are achieved.
Patent Information
- Application Number
- CN202380084636.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-11-04
- Filing Date
- 2023-11-03
- Publication Date
- 2025-07-22
AI Technical Summary
In the distributed artificial intelligence system, the management of segmentation points lacks flexibility and efficiency, resulting in waste of storage resources and service interruption during inference, and the specific parameters of UE and remote devices cannot be effectively utilized.
By managing the set of segmented points on the user equipment (UE), combining the collaborative management of the local decision module and the network side, dynamically selecting and updating segmented points is ensured that the model efficiently segments and transmits intermediate data between the UE and remote devices.
It realizes more efficient resource utilization in the distributed AI/ML model, reduces storage waste and interrupts in the inference process, improves the flexibility and adaptability of the system, and adapts to changes in different equipment and environment parameters.
Smart Images

Figure CN120359522A_ABST
Abstract
Description
[0001] Cross - reference to other applications This application claims priority to European Application No. 22306667.1, filed on November 4, 2022, which is incorporated herein by reference in its entirety. Background Art
[0002] The present disclosure generally relates to the fields of communication, software, and coding, including, for example, methods, architectures, devices, and systems related to collaborative artificial intelligence (AI). Summary of the Invention
[0003] In a first aspect, the present principle is directed to a method in a first device, the method receiving a representation of at least a portion of a machine - learning model and information representing a plurality of split points, where the split points represent layers at which intermediate results of the execution of the machine - learning model can be output to a second device, the intermediate results enabling execution of the machine - learning model from the split points, determining a selected split point from the plurality of split points, processing input data using an AI / ML model until the selected split point to obtain an intermediate result corresponding to the selected split point, and outputting to the second device information corresponding to the intermediate result corresponding to the selected split point and information indicating the selected split point.
[0004] In a second aspect, the present principle is directed to a first device including at least one hardware processor, the at least one hardware processor being configured to receive a representation of at least a portion of a machine - learning model and information representing a plurality of split points, where the split points represent layers at which intermediate results of the execution of the machine - learning model can be output to a second device, the intermediate results enabling execution of the machine - learning model from the split points, determining a selected split point from the plurality of split points, processing input data using the machine - learning model until the selected split point to obtain an intermediate result corresponding to the selected split point, and outputting to the second device information corresponding to the intermediate result corresponding to the selected split point and information indicating the selected split point. Brief Description of the Drawings
[0005] A more detailed understanding can be obtained through the following detailed description given by way of example in conjunction with the accompanying drawings. The figures in these drawings are examples like the detailed description. Similarly, the drawings (FIG.) and the detailed description should not be considered restrictive, and other equally valid examples are possible. In addition, like reference numerals (ref.) in the drawings represent the same elements, where:
[0006] Figure 1A is a system diagram showing an example communication system;
[0007] Figure 1B is a system diagram showing an example wireless transmit / receive unit (WTRU) that can be used within the Figure 1A shown communication system;
[0008] Figure 1C is a system diagram showing an example radio access network (RAN) and an example core network (CN) that can be used within the Figure 1A shown communication system;
[0009] Figure 1D is a system diagram showing another example RAN and another example CN that can be used within the Figure 1A shown communication system;
[0010] Figure 2 shows the splitting of an AI / ML model into parts;
[0011] Figure 3 shows an example of a model representation;
[0012] Figure 4 shows a representation of a model with potential split points;
[0013] Figure 5 shows a system according to an embodiment of the present principles;
[0014] Figure 6 shows overlapping split points at a UE and a network according to an embodiment of the present principles;
[0015] Figure 7A and 7B shows an example of processing in a pipeline according to an embodiment of the present principles;
[0016] Figure 8 shows a flowchart of a deployment and provisioning method according to an embodiment of the present principles; and
[0017] Figure 9 shows a sequence diagram according to an embodiment of the present principles. Detailed Description
[0018] In the following detailed description, numerous specific details are set forth to provide a thorough understanding of the embodiments and / or examples disclosed herein. However, it will be understood that such embodiments and examples may be practiced without some or all of the specific details set forth herein. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the description below. Additionally, embodiments and examples not specifically described herein may be practiced in lieu of or in combination with the embodiments and other examples explicitly, implicitly, and / or inherently described, disclosed, or provided (collectively "provided") herein. Although various embodiments are described and / or claimed herein in which a device, system, apparatus, etc. and / or any of its elements perform an operation, procedure, algorithm, function, etc. and / or any part thereof, it should be understood that any embodiment described and / or claimed herein assumes that any device, system, apparatus, etc. and / or any of its elements is configured to perform any operation, procedure, algorithm, function, etc. and / or any part thereof.
[0019] Example communication system
[0020] The methods, apparatuses, and systems provided herein are well-suited for communication involving both wired and wireless networks. Referring to Figures 1A - 1D an overview of various types of wireless devices and infrastructure is provided, where various elements of the network can be utilized, execute, be arranged in accordance with, adapted to, and / or configured for the methods, apparatuses, and systems provided herein.
[0021] Figure 1A FIG. 12 is a system diagram showing an example communication system 100 in which one or more disclosed embodiments may be implemented. The communication system 100 may be a multi-access system that provides content such as voice, data, video, messages, broadcasts, etc. to a plurality of wireless users. The communication system 100 may enable a plurality of wireless users to access this content by sharing system resources including wireless bandwidth. For example, the communication system 100 may employ one or more channel access methods such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single carrier FDMA (SC-FDMA), zero tail (ZT) unique word (UW) discrete Fourier transform (DFT) spread OFDM (ZT UW DTS-s OFDM), unique word OFDM (UW-OFDM), resource block filtered OFDM, filter bank multicarrier (FBMC), etc.
[0022] As Figure 1AAs shown, the communication system 100 may include wireless transmit / receive units (WTRUs) 102a, 102b, 102c, 102d, a radio access network (RAN) 104 / 113, a core network (CN) 106 / 115, a public switched telephone network (PSTN) 108, the Internet 110, and other networks 112. However, it should be understood that the disclosed embodiments contemplate any number of WTRUs, base stations, networks, and / or network elements. Each of the WTRUs 102a, 102b, 102c, 102d may be any type of device configured to operate and / or communicate in a wireless environment. By way of example, the WTRUs 102a, 102b, 102c, 102d (any of which may be referred to as a “station” and / or “STA”) may be configured to transmit and / or receive wireless signals and may include (or be) a user equipment (UE), a mobile station, a fixed or mobile subscriber unit, a subscription-based unit, a pager, a cellular phone, a personal digital assistant (PDA), a smartphone, a laptop computer, a netbook, a personal computer, a wireless sensor, a hotspot or Mi-Fi device, an Internet of Things (IoT) device, a watch or other wearable device, a head-mounted display (HMD), a vehicle, a drone, a medical device and application (e.g., remote surgery), an industrial device and application (e.g., a robot and / or other wireless devices operating in an industrial and / or automated processing chain environment), a consumer electronic device, a device operating on a commercial and / or industrial wireless network, etc. Any of the WTRUs 102a, 102b, 102c, and 102d may be interchangeably referred to as a UE.
[0023] The communication system 100 may also include base station 114a and / or base station 114b. Each of the base stations 114a, 114b may be any type of device configured to wirelessly interface with at least one of the WTRUs 102a, 102b, 102c, 102d, such as to facilitate access to one or more communication networks (such as the CN 106 / 115, the Internet 110, and / or other networks 112). By way of example, the base stations 114a, 114b may be a base transceiver station (BTS), a Node B (NB), an eNode-B (eNB), a home Node B (HNB), a home eNode-B (HeNB), a gNode-B (gNB), an NR Node-B (NR NB), a site controller, an access point (AP), a wireless router, etc. Although the base stations 114a, 114b are each depicted as a single element, it should be understood that the base stations 114a, 114b may include any number of interconnected base stations and / or network elements.
[0024] Base station 114a may be part of RAN 104 / 113, which may also include other base stations and / or network elements (not shown), such as a base station controller (BSC), a radio network controller (RNC), relay nodes, etc. Base station 114a and / or base station 114b may be configured to transmit and / or receive wireless signals on one or more carrier frequencies, which may be referred to as a cell (not shown). These frequencies may be in licensed spectrum, unlicensed spectrum, or a combination of licensed and unlicensed spectrum. The cell may provide wireless service coverage to a specific geographical area, which may be relatively fixed or may vary over time. The cell may also be divided into cell sectors. For example, the cell associated with base station 114a may be divided into three sectors. Thus, in one embodiment, base station 114a may include three transceivers, i.e., one transceiver for each sector of the cell. In one embodiment, base station 114a may employ multiple-input multiple-output (MIMO) technology and may utilize multiple transceivers for each or any sector of the cell. For example, beamforming may be used to transmit and / or receive signals in a desired spatial direction.
[0025] Base stations 114a, 114b may communicate with one or more of WTRUs 102a, 102b, 102c, 102d via air interface 116, which may be any suitable wireless communication link (e.g., radio frequency (RF), microwave, centimeter wave, millimeter wave, infrared (IR), ultraviolet (UV), visible light, etc.). Any suitable radio access technology (RAT) may be used to establish air interface 116.
[0026] More specifically, as described above, communication system 100 may be a multi-access system and may employ one or more channel access schemes, such as CDMA, TDMA, FDMA, OFDMA, SC-FDMA, etc. For example, base station 114a in RAN 104 / 113 and WTRUs 102a, 102b, 102c may implement a radio technology such as Universal Mobile Telecommunications System (UMTS) Terrestrial Radio Access (UTRA), which may use Wideband CDMA (WCDMA) to establish air interface 116. WCDMA may include communication protocols such as High Speed Packet Access (HSPA) and / or Evolved HSPA (HSPA+). HSPA may include High Speed Downlink Packet Access (HSDPA) and / or High Speed Uplink Packet Access (HSUPA).
[0027] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement a radio technology such as evolved UMTS terrestrial radio access (E-UTRA), which may use Long Term Evolution (LTE) and / or Long Term Evolution-Advanced (LTE-A) and / or LTE-A Pro to establish the air interface 116.
[0028] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement a radio technology such as NR radio access, which may use New Radio (NR) to establish the air interface 116.
[0029] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement multiple radio access technologies. For example, base station 114a and WTRUs 102a, 102b, 102c may implement LTE radio access and NR radio access together, for example, using the dual connectivity (DC) principle. Thus, the air interface utilized by WTRUs 102a, 102b, 102c may be characterized by multiple types of radio access technologies and / or transmissions to / from multiple types of base stations (e.g., eNBs and gNBs).
[0030] In one embodiment, base station 114a and WTRUs 102a, 102b, 102c may implement radio technologies such as IEEE 802.11 (i.e., Wi-Fi), IEEE 802.16 (i.e., Worldwide Interoperability for Microwave Access (WiMAX)), CDMA2000, CDMA2000 1X, CDMA2000 EV-DO, Interim Standard 2000 (IS-2000), Interim Standard 95 (IS-95), Interim Standard 856 (IS-856), Global System for Mobile Communications (GSM), Enhanced Data Rate for GSM Evolution (EDGE), GSM EDGE (GERAN), and so on.
[0031] For example, Figure 1AThe base station 114b therein can be a wireless router, a home Node B, a home eNode B, or an access point, and can utilize any suitable RAT to facilitate wireless connectivity in a local area, such as a commercial venue, a home, a vehicle, a campus, an industrial facility, an air corridor (e.g., for drones), a road, etc. In one embodiment, the base station 114b and the WTRUs 102c, 102d can implement a radio technology such as IEEE 802.11 to establish a wireless local area network (WLAN). In one embodiment, the base station 114b and the WTRUs 102c, 102d can implement a radio technology such as IEEE 802.15 to establish a wireless personal area network (WPAN). In yet another embodiment, the base station 114b and the WTRUs 102c, 102d can utilize a cellular-based RAT (e.g., WCDMA, CDMA2000, GSM, LTE, LTE-A, LTE-A Pro, NR, etc.) to establish any one of a small cell, a picocell, or a femtocell. As Figure 1A shown, the base station 114b can have a direct connection to the Internet 110. Thus, it may not be required for the base station 114b to access the Internet 110 via the CN 106 / 115.
[0032] The RAN 104 / 113 can communicate with the CN 106 / 115, which can be any type of network configured to provide voice, data, applications, and / or voice over Internet protocol (VoIP) services to one or more of the WTRUs 102a, 102b, 102c, 102d. The data can have different quality of service (QoS) requirements, such as different throughput requirements, latency requirements, fault tolerance requirements, reliability requirements, data throughput requirements, mobility requirements, etc. The CN 106 / 115 can provide call control, billing services, location-based services, prepaid calling, Internet connectivity, video distribution, etc. and / or perform advanced security functions, such as user authentication. Although not shown in Figure 1A it, it should be understood that the RAN 104 / 113 and / or the CN 106 / 115 can communicate directly or indirectly with other RANs that employ the same RAT as the RAN 104 / 113 or a different RAT. For example, in addition to being connected to the RAN 104 / 113 that may utilize the NR radio technology, the CN 106 / 115 can also communicate with another RAN (not shown) that employs any one of the GSM, UMTS, CDMA 2000, WiMAX, E-UTRA, or Wi-Fi radio technologies.
[0033] CN 106 / 115 can also be used as a gateway for the WTRU 102a, 102b, 102c, 102d to access the PSTN 108, the Internet 110, and / or other networks 112. The PSTN 108 may include a circuit-switched telephone network that provides Plain Old Telephone Service (POTS). The Internet 110 may include a global system of interconnected computer networks and devices that use common communication protocols such as the Transmission Control Protocol (TCP), User Datagram Protocol (UDP), and / or Internet Protocol (IP) in the TCP / IP Internet protocol suite. The network 112 may include wired and / or wireless communication networks owned and / or operated by other service providers. For example, the network 112 may include another CN connected to one or more RANs, and the one or more RANs may employ the same RAT or a different RAT as the RAN 104 / 114.
[0034] Some or all of the WTRU 102a, 102b, 102c, 102d in the communication system 100 may include multi-mode capabilities (e.g., the WTRU 102a, 102b, 102c, 102d may include multiple transceivers for communicating with different wireless networks over different wireless links). For example, Figure 1A the WTRU 102c shown in may be configured to communicate with a base station 114a that may employ a cellular-based radio technology and with a base station 114b that may employ IEEE 802 radio technology.
[0035] Figure 1B is a system diagram showing an example WTRU 102. As Figure 1B shown, among other things, the WTRU 102 may include a processor 118, a transceiver 120, transmit / receive elements 122, a speaker / microphone 124, a keypad 126, a display / touchpad 128, a non-removable memory 130, a removable memory 132, a power supply 134, a Global Positioning System (GPS) chipset 136, and / or other elements / peripherals 138. It should be understood that the WTRU 102 may include any sub-combination of the foregoing elements while remaining consistent with the embodiments.
[0036] The processor 118 can be a general-purpose processor, a dedicated processor, a conventional processor, a digital signal processor (DSP), multiple microprocessors, one or more microprocessors associated with a DSP core, a controller, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) circuit, any other type of integrated circuit (IC), a state machine, etc. The processor 118 can perform signal encoding, data processing, power control, input / output processing, and / or any other functions that enable the WTRU 102 to operate in a wireless environment. The processor 118 can be coupled to a transceiver 120, and the transceiver 120 can be coupled to a transmit / receive element 122. Although Figure 1B the processor 118 and the transceiver 120 are depicted as separate components, it should be understood that the processor 118 and the transceiver 120 can be integrated together, such as in an electronic package or a chip.
[0037] The transmit / receive element 122 can be configured to transmit signals to or receive signals from a base station (e.g., base station 114a) via an air interface 116. For example, in one embodiment, the transmit / receive element 122 can be an antenna configured to transmit and / or receive RF signals. In one embodiment, the transmit / receive element 122 can be a transmitter / detector configured to transmit and / or receive IR, UV, or visible light signals, for example. In one embodiment, the transmit / receive element 122 can be configured to transmit and / or receive both RF and optical signals. It should be understood that the transmit / receive element 122 can be configured to transmit and / or receive any combination of wireless signals.
[0038] Although the transmit / receive element 122 is depicted as a single element in Figure 1B the WTRU 102 can include any number of transmit / receive elements 122. For example, the WTRU 102 can employ MIMO technology. Thus, in one embodiment, the WTRU 102 can include two or more transmit / receive elements 122 (e.g., multiple antennas) for transmitting and receiving wireless signals via the air interface 116.
[0039] The transceiver 120 can be configured to modulate the signals to be transmitted by the transmit / receive element 122 and demodulate the signals received by the transmit / receive element 122. As described above, the WTRU 102 can have multi-mode capabilities. Thus, for example, the transceiver 120 can include multiple transceivers for enabling the WTRU 102 to communicate via multiple RATs (such as NR and IEEE 802.11).
[0040] The processor 118 of the WTRU 102 may be coupled to the speaker / microphone 124, keypad 126, and / or the display / touchpad 128 (e.g., a liquid crystal display (LCD) display unit or an organic light emitting diode (OLED) display unit), and may receive user input data therefrom. The processor 118 may also output user data to the speaker / microphone 124, keypad 126, and / or the display / touchpad 128. In addition, the processor 118 may access information from and store data in any type of suitable memory, such as non-removable memory 130 and / or removable memory 132. The non-removable memory 130 may include random access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 132 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, etc. In other embodiments, the processor 118 may access information from and store data in a memory that is not physically located on the WTRU 102, such as on a server or a home computer (not shown).
[0041] The processor 118 may receive power from a power supply 134 and may be configured to distribute and / or control power to other components in the WTRU 102. The power supply 134 may be any suitable device for powering the WTRU 102. For example, the power supply 134 may include one or more dry cells (e.g., nickel cadmium (NiCd), nickel zinc (NiZn), nickel metal hydride (NiMH), lithium ion (Li-ion), etc.), a solar cell, a fuel cell, etc.
[0042] The processor 118 may also be coupled to a GPS chipset 136, which may be configured to provide location information (e.g., longitude and latitude) regarding the current location of the WTRU 102. In addition to, or instead of, information from the GPS chipset 136, the WTRU 102 may receive location information from a base station (e.g., base stations 114a, 114b) via an air interface 116, and / or may determine its location based on the timing of signals received from two or more nearby base stations. It should be understood that the WTRU 102 may obtain location information by any suitable location determination method while remaining consistent with the embodiments.
[0043] The processor 118 may be further coupled to other elements / peripherals 138, which may include one or more software and / or hardware modules / units that provide additional features, functionality, and / or wired or wireless connectivity. For example, the elements / peripherals 138 may include an accelerometer, an electronic compass, a satellite transceiver, a digital camera (for photos and / or videos), a universal serial bus (USB) port, a vibration device, a television transceiver, a hands-free headset, (Bluetooth) module, FM (Frequency Modulation) radio unit, digital music player, media player, electronic game player module, Internet browser, virtual reality and / or augmented reality (VR / AR) device, activity tracker, etc. Component / peripheral 138 may include one or more sensors, and the sensors may be one or more of a gyroscope, an accelerometer, a Hall effect sensor, a magnetometer, an azimuth sensor, a proximity sensor, a temperature sensor, a time sensor; a geographical location sensor; an altimeter, a light sensor, a touch sensor, a magnetometer, a barometer, an attitude sensor, a biometric sensor, and / or a humidity sensor.
[0044] The WTRU 102 may include a full-duplex radio, for which the transmission and reception of some or all signals (e.g., signals associated with specific subframes for both uplink (e.g., for transmission) and downlink (e.g., for reception)) may be concurrent and / or simultaneous. The full-duplex radio may include an interference management unit to reduce and / or substantially eliminate self-interference through hardware (e.g., a choke) or signal processing via a processor (e.g., a separate processor (not shown) or via processor 118). In one embodiment, the WTRU 102 may include a half-duplex radio, for which the transmission and reception of some or all signals (e.g., signals associated with specific subframes for uplink (e.g., for transmission) or downlink (e.g., for reception)).
[0045] Figure 1C is a system diagram showing the RAN 104 and the CN 106 according to an embodiment. As described above, the RAN 104 may communicate with the WTRU 102a, 102b, and 102c via the air interface 116 using E-UTRA radio technology. The RAN 104 may also communicate with the CN 106.
[0046] The RAN 104 may include eNode-Bs 160a, 160b, 160c, but it should be understood that the RAN 104 may include any number of eNode-Bs while remaining consistent with the embodiment. The eNode-Bs 160a, 160b, 160c may each include one or more transceivers for communicating with the WTRU 102a, 102b, 102c via the air interface 116. In one embodiment, the eNode-Bs 160a, 160b, 160c may implement MIMO technology. Thus, for example, the eNode-B 160a may use multiple antennas to transmit wireless signals to and / or receive wireless signals from the WTRU 102a.
[0047] Each of eNode-Bs 160a, 160b, and 160c may be associated with a specific cell (not shown) and may be configured to handle radio resource management decisions, handover decisions, user scheduling in the uplink (UL) and / or downlink (DL), etc. As Figure 1C shown, eNode-Bs 160a, 160b, 160c may communicate with each other via the X2 interface.
[0048] Figure 1C The CN 106 shown in may include a Mobility Management Entity (MME) 162, a Serving Gateway (SGW) 164, and a Packet Data Network (PDN) Gateway (or PGW) 166. Although each of the foregoing elements is described as part of the CN 106, it should be understood that any of these elements may be owned and / or operated by entities other than the CN operator.
[0049] The MME 162 may be connected to each of eNode-Bs 160a, 160b, and 160c in the RAN 104 via the S1 interface and may act as a control node. For example, the MME 162 may be responsible for authenticating users of the WTRUs 102a, 102b, 102c, bearer activation / deactivation, selecting a specific serving gateway during the initial attachment of the WTRUs 102a, 102b, 102c, etc. The MME 162 may provide control plane functions for handover between the RAN 104 and other RANs (not shown) employing other radio technologies such as GSM and / or WCDMA.
[0050] The SGW 164 may be connected to each of eNode Bs 160a, 160b, 160c in the RAN 104 via the S1 interface. The SGW 164 may generally route and forward user data packets to / from the WTRUs 102a, 102b, 102c. The SGW 164 may perform other functions such as anchoring the user plane during handover between eNode Bs, triggering paging when DL data is available for the WTRUs 102a, 102b, 102c, managing and storing the context of the WTRUs 102a, 102b, 102c, etc.
[0051] The SGW 164 may be connected to the PGW 166, which may provide the WTRUs 102a, 102b, 102c with access to a packet switched network such as the Internet 110 to facilitate communication between the WTRUs 102a, 102b, 102c and IP-enabled devices.
[0052] CN 106 can facilitate communication with other networks. For example, CN 106 can provide the WTRUs 102a, 102b, 102c with access to a circuit-switched network such as the PSTN 108 to facilitate communication between the WTRUs 102a, 102b, 102c and traditional landline communication devices. For example, CN 106 can include, or communicate with, an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that acts as an interface between CN 106 and the PSTN 108. Additionally, CN 106 can provide the WTRUs 102a, 102b, 102c with access to other networks 112, which can include other wired and / or wireless networks owned and / or operated by other service providers.
[0053] Although the WTRU is described as a wireless terminal in Figures 1A - 1D it is contemplated that in some representative embodiments, such a terminal may use (e.g., temporarily or permanently) a wired communication interface to the communication network.
[0054] In a representative embodiment, another network 112 can be a WLAN.
[0055] A WLAN in infrastructure basic service set (BSS) mode can have an access point (AP) for the BSS and one or more stations (STAs) associated with the AP. The AP can have access to or an interface with a distributed system (DS) or another type of wired / wireless network that conveys traffic to and / or from the BSS. Traffic destined for an STA from outside the BSS can reach the STA through the AP and can be delivered to the STA. Traffic originating from an STA to a destination outside the BSS can be sent to the AP to be delivered to the corresponding destination. For example, traffic between STAs within the BSS can be sent through the AP, where the source STA can send the traffic to the AP and the AP can deliver the traffic to the destination STA. Traffic between STAs within the BSS can be considered and / or referred to as peer-to-peer traffic. Peer-to-peer traffic can be sent between the source and destination STAs (e.g., directly between them) using direct link setup (DLS). In some representative embodiments, DLS can use 802.11e DLS or 802.11z tunnel DLS (TDLS). A WLAN using independent BSS (IBSS) mode may not have an AP, and STAs within the IBSS or using the IBSS (e.g., all STAs) can communicate directly with each other. The IBSS communication mode is sometimes referred to herein as an "ad-hoc" communication mode.
[0056] When operating in 802.11ac infrastructure mode or a similar operating mode, the AP can transmit beacons on a fixed channel, such as the primary channel. The primary channel can be of a fixed width (e.g., 20 MHz bandwidth) or a width dynamically set by signaling. The primary channel can be the operating channel of the BSS and can be used by the STA to establish a connection with the AP. In some representative embodiments, Carrier Sense Multiple Access with Collision Avoidance (CSMA / CA) can be implemented, such as in 802.11 systems. For CSMA / CA, STAs including the AP (e.g., each STA) can sense the primary channel. If a particular STA senses / detects the primary channel and / or determines that the primary channel is busy, that particular STA can back off. One STA (e.g., only one station) can transmit at any given time in a given BSS.
[0057] High Throughput (HT) STAs can communicate using 40 MHz wide channels, e.g., by combining the primary 20 MHz channel with an adjacent or non - adjacent 20 MHz channel to form a 40 MHz wide channel.
[0058] Very High Throughput (VHT) STAs can support channels that are 20 MHz, 40 MHz, 80 MHz, and / or 160 MHz wide. 40 MHz and / or 80 MHz channels can be formed by combining consecutive 20 MHz channels. A 160 MHz channel can be formed by combining eight consecutive 20 MHz channels or by combining two non - consecutive 80 MHz channels, which can be referred to as an 80 + 80 configuration. For the 80 + 80 configuration, after channel coding, the data can pass through a segment parser, which can split the data into two streams. Inverse Fast Fourier Transform (IFFT) processing and time - domain processing can be performed separately on each stream. The streams can be mapped to two 80 MHz channels, and the data can be transmitted by the transmitting STA. At the receiver of the receiving STA, the operation of the above 80 + 80 configuration can be reversed, and the combined data can be sent to the Media Access Control (MAC) layer, entity, etc.
[0059] 802.11af and 802.11ah support operation modes below 1 GHz. The channel operation bandwidth and carrier are reduced in 802.11af and 802.11ah compared to those used in 802.11n and 802.11ac. 802.11af supports 5 MHz, 10 MHz, and 20 MHz bandwidths in the TV white space (TVWS) spectrum, and 802.11ah supports 1 MHz, 2 MHz, 4 MHz, 8 MHz, and 16 MHz bandwidths using non-TVWS spectrum. According to a representative embodiment, 802.11ah may support metering type control / machine type communication (MTC), such as MTC devices in a macro coverage area. The MTC devices may have certain capabilities, for example, limited capabilities, including supporting (e.g., only supporting) certain and / or limited bandwidths. The MTC devices may include a battery having a battery life above a threshold (e.g., in order to maintain a very long battery life).
[0060] A WLAN system (e.g., 802.11n, 802.11ac, 802.11af, and 802.11ah) that can support multiple channels and channel bandwidths includes a channel that can be designated as a primary channel. The bandwidth of the primary channel may be equal to the maximum common operation bandwidth supported by all STAs in the BSS. The bandwidth of the primary channel may be set and / or restricted by an STA among all STAs operating in the BSS that supports the minimum bandwidth operation mode. In an example of 802.11ah, for an STA that supports (e.g., only supports) the 1 MHz mode (e.g., an MTC type device), the primary channel may be 1 MHz wide even if the AP and other STAs in the BSS support 2 MHz, 4 MHz, 8 MHz, 16 MHz, and / or other channel bandwidth operation modes. Carrier sensing and / or network allocation vector (NAV) setting may depend on the state of the primary channel. If the primary channel is busy, for example, due to an STA (only supporting the 1 MHz operation mode) transmitting to the AP, the entire available frequency band may be considered busy even if most of the frequency band remains idle and may be available.
[0061] In the United States, the available frequency band that 802.11ah can use ranges from 902 MHz to 928 MHz. In Korea, the available frequency band ranges from 917.5 MHz to 923.5 MHz. In Japan, the available frequency band ranges from 916.5 MHz to 927.5 MHz. The total bandwidth available for 802.11ah is 6 MHz to 26 MHz, depending on the country code.
[0062] Figure 1DFIG. 0 is a system diagram showing RAN 113 and CN 115 according to an embodiment. As described above, RAN 113 may communicate with WTRUs 102a, 102b, 102c via air interface 116 using NR radio technology. RAN 113 may also communicate with CN 115.
[0063] RAN 113 may include gNBs 180a, 180b, 180c, but it should be understood that RAN 113 may include any number of gNBs while remaining consistent with the embodiment. gNBs 180a, 180b, 180c may each include one or more transceivers for communicating with WTRUs 102a, 102b, 102c via air interface 116. In one embodiment, gNBs 180a, 180b, 180c may implement MIMO technology. For example, gNBs 180a, 180b may utilize beamforming to transmit signals to and / or receive signals from WTRUs 102a, 102b, 102c. Thus, for example, gNB 180a may use multiple antennas to transmit wireless signals to and / or receive wireless signals from WTRU 102a. In one embodiment, gNBs 180a, 180b, 180c may implement carrier aggregation technology. For example, gNB 180a may transmit multiple component carriers (not shown) to WTRU 102a. A subset of these component carriers may be on unlicensed spectrum, while the remaining component carriers may be on licensed spectrum. In one embodiment, gNBs 180a, 180b, 180c may implement coordinated multi-point (CoMP) technology. For example, WTRU 102a may receive coordinated transmissions from gNB 180a and gNB 180b (and / or gNB 180c).
[0064] WTRUs 102a, 102b, 102c may communicate with gNBs 180a, 180b, 180c using transmissions associated with scalable numerology. For example, the OFDM symbol interval and / or the OFDM subcarrier interval may be different for different transmissions, different cells, and / or different parts of the radio transmission spectrum. WTRUs 102a, 102b, 102c may communicate with gNBs 180a, 180b, 180c using subframes or transmission time intervals (TTIs) of various or scalable lengths (e.g., including a varying number of OFDM symbols and / or an absolute time of continuously varying length).
[0065] gNBs 180a, 180b, 180c can be configured to communicate with WTRUs 102a, 102b, 102c in stand-alone configuration and / or non-stand-alone configuration. In stand-alone configuration, WTRUs 102a, 102b, 102c can communicate with gNBs 180a, 180b, 180c without accessing other RANs (e.g., such as eNode-Bs 160a, 160b, 160c). In stand-alone configuration, WTRUs 102a, 102b, 102c can utilize one or more of gNBs 180a, 180b, 180c as a mobility anchor. In stand-alone configuration, WTRUs 102a, 102b, 102c can communicate with gNBs 180a, 180b, 180c using signals in the unlicensed band. In non-stand-alone configuration, WTRUs 102a, 102b, 102c can communicate / connect with gNBs 180a, 180b, 180c while also communicating / connecting with another RAN such as eNode-Bs 160a, 160b, 160c. For example, WTRUs 102a, 102b, 102c can implement the DC principle to communicate with one or more of gNBs 180a, 180b, 180c and one or more of eNode-Bs 160a, 160b, 160c substantially simultaneously. In non-stand-alone configuration, eNode-Bs 160a, 160b, 160c can act as a mobility anchor for WTRUs 102a, 102b, 102c, and gNBs 180a, 180b, 180c can provide additional coverage and / or throughput for serving WTRUs 102a, 102b, 102c.
[0066] Each of gNBs 180a, 180b, 180c can be associated with a specific cell (not shown) and can be configured to handle radio resource management decisions, handover decisions, user scheduling in UL and / or DL, network slice support, dual connectivity, interworking between NR and E-UTRA, routing user plane data to user plane functions (UPFs) 184a, 184b, routing control plane information to access and mobility management functions (AMFs) 182a, 182b, etc. As Figure 1D shown, gNBs 180a, 180b, 180c can communicate with each other via the Xn interface.
[0067] Figure 1DThe illustrated CN 115 may include at least one AMF 182a, 182b, at least one UPF 184a, 184b, at least one session management function (SMF) 183a, 183b, and at least one data network (DN) 185a, 185b. Although each of the foregoing elements is described as part of CN 115, it should be understood that any of these elements may be owned and / or operated by an entity other than the CN operator.
[0068] The AMF 182a, 182b may be connected to one or more gNBs 180a, 180b, 180c in the RAN 113 via the N2 interface and may act as a control node. For example, the AMF 182a, 182b may be responsible for authenticating users of the WTRU 102a, 102b, 102c, supporting network slicing (e.g., handling different protocol data unit (PDU) sessions with different requirements), selecting a particular SMF 183a, 183b, managing the registration area, terminating NAS signaling, mobility management, and so on. The AMF 182a, 182b may use network slicing, for example, to customize the CN support for the WTRU 102a, 102b, 102c based on the type of service utilized by the WTRU 102a, 102b, 102c. For example, different network slices may be established for different use cases, such as services relying on ultra-reliable low-latency (URLLC) access, services relying on enhanced massive mobile broadband (eMBB) access, services for machine type communication (MTC) access, etc. The AMF 162 may provide control plane functions for handovers between the RAN 113 and other RANs (not shown) employing other radio technologies such as LTE, LTE-A, LTE-A Pro, and / or non-3GPP access technologies such as Wi-Fi.
[0069] The SMF 183a, 183b may be connected to the AMF 182a, 182b in the CN 115 via the N11 interface. The SMF 183a, 183b may also be connected to the UPF 184a, 184b in the CN 115 via the N4 interface. The SMF 183a, 183b may select and control the UPF 184a, 184b and configure the routing of traffic through the UPF 184a, 184b. The SMF 183a, 183b may perform other functions, such as managing and allocating UE IP addresses, managing PDU sessions, controlling policy enforcement and QoS, providing downlink data notifications, etc. The PDU session type may be IP-based, non-IP-based, Ethernet-based, and so on.
[0070] UPF 184a and 184b can be connected to one or more gNBs 180a, 180b, 180c in the RAN 113 via the N3 interface, which can provide the WTRUs 102a, 102b, 102c with access to a packet switched network (e.g., the Internet 110), for example to facilitate communication between the WTRUs 102a, 102b, 102c and IP-enabled devices. The UPFs 184, 184b can perform other functions such as routing and forwarding packets, enforcing user plane policies, supporting multi-homed PDU sessions, handling user plane QoS, buffering downlink packets, providing mobility anchoring, etc.
[0071] The CN 115 can facilitate communication with other networks. For example, the CN 115 can include an IP gateway (e.g., an IP Multimedia Subsystem (IMS) server) that acts as an interface between the CN 115 and the PSTN 108, or can communicate with the IP gateway. In addition, the CN 115 can provide the WTRUs 102a, 102b, 102c with access to other networks 112, which can include other wired and / or wireless networks owned and / or operated by other service providers. In one embodiment, the WTRUs 102a, 102b, 102c can be connected to a local data network (DN) 185a, 185b via the UPFs 184a, 184b through the N3 interface to the UPFs 184a, 184b and the N6 interface between the UPFs 184a, 184b and the DNs 185a, 185b.
[0072] In view of Figures 1A - 1D and Figures 1A - 1D In view of the corresponding descriptions of, one or more or all of the functions described herein for any one of the WTRUs 102a-d, base stations 114a-b, eNode-Bs 160a-c, MME 162, SGW 164, PGW 166, gNBs 180a-c, AMFs 182a-b, UPFs 184a-b, SMFs 183a-b, DNs 185a-b and / or any other element / devices described herein can be performed by one or more emulation elements / devices (not shown). The emulation devices can be one or more devices configured to emulate one or more or all of the functions described herein. For example, the emulation devices can be used to test other devices and / or simulate network and / or WTRU functions.
[0073] A simulation device can be designed to implement one or more tests of other devices in a laboratory environment and / or an operator network environment. For example, one or more simulation devices can perform one or more or all functions while being fully or partially implemented and / or deployed as part of a wired and / or wireless communication network to test other devices within the communication network. One or more simulation devices can perform one or more or all functions while being temporarily implemented / deployed as part of a wired and / or wireless communication network. For testing purposes, the simulation device can be directly coupled to another device and / or can use over-the-air wireless communication to perform the test.
[0074] One or more simulation devices can perform one or more functions, including all functions, without being implemented / deployed as part of a wired and / or wireless communication network. For example, the simulation device can be used to test test scenarios in a laboratory and / or a non-deployed (e.g., test) wired and / or wireless communication network to implement testing of one or more components. One or more simulation devices can be test devices. The simulation device can transmit and / or receive data using direct RF coupling and / or wireless communication via an RF circuit (e.g., which can include one or more antennas).
[0075] Introduction
[0076] Distributed inference (i.e., split computing) can be used to distribute the computing load across a mobile device, a UE, and one or more remote (e.g., edge or cloud) devices (e.g., servers) to move part of the energy consumption from the UE to the remote devices and help protect privacy by transmitting part of the processed data instead of the raw data.
[0077] An AI / ML model that implements distributed inference, such as a distributed neural network (DNN) model, is divided into multiple parts. The division can be made according to current system environmental factors, such as network bandwidth, device resources (memory, power, processing unit), and remote device workload.
[0078] The UE executes the DNN model up to a specific layer and sends the resulting intermediate data to the remote device that executes the remaining layers and sends the result back to the UE.
[0079] Figure 2 Illustrates splitting an AI / ML model into parts. The original model {M} is split at the splitting point into a first part {M1} to be executed by the UE and a second part {M2} to be executed by the remote device. Depending on where the model is split, its parts are transmitted to the UE, the remote device, or both if needed.
[0080] The splitting points can be represented in different ways, for example depending on how the model is expressed. For example, in Keras (an open-source software library), the layers of the model are stored in a sequential list, and an index or a list of indices can be used to indicate the splitting points.
[0081] Figure 3 An example of the representation of the model ResNet50 (a type of artificial neural network) is shown, which is constructed as model.layers[:]. Since the layer names are unique, these names can be used instead of or in addition to the indices to indicate the splitting points.
[0082] Similar methods for indicating splitting points can also be used for other frameworks, such as ONNX and NNEF.
[0083] For each layer, there is also an indication of the one or more layers that provide input to that layer.
[0084] One way to split a model into parts is to decompose the model into autonomous blocks, and then define the parts as one or more blocks. For example, the model can be cut after a layer receives input from multiple layers or after a layer provides output to multiple layers.
[0085] Figure 4 A representation of a model with potential splitting points is shown. It can be seen that layer 4 provides output to layers 5 and 7, layer 8 receives input from layers 6 and 7, and layer 9 provides output to layers 10 and 11. Since layer 4 provides output to multiple layers, a splitting point can be determined between layer 3 and layer 4 (represented by a dashed line). In a similar way, another splitting point can be determined between layer 8 and layer 9, because layer 8 receives input from multiple layers and / or because layer 9 provides output to multiple layers.
[0086] Thus, a block has an input layer and an output layer. The input layer can be defined by its index or name. The data input characteristics (data dimensions) of the input layer have the same characteristics (data dimensions) as the output of the previous branch (or, for the first layer of the model, the dimensions of the expected input data). The output layer can be defined by its name and index. The output layer has its data output characteristics (data dimensions).
[0087] Inside the block, between the input layer and the output layer, there can be any combination of layers as long as there are no references to external layers (e.g., layers existing in another branch). In other words, except for the input and output, the block is autonomous (i.e., independent).
[0088] In addition to data input and data output characteristics, the block can also be associated with additional information, such as inference complexity and energy indication. The inference complexity can be absolute for a particular device or relative to the total inference time requested for a model running on a reference device. The energy indication can be absolute for a particular device or relative to the total energy requested for a model running on a reference device.
[0089] For ease of explanation, the description is limited to splitting the model into two parts. However, it should be understood that the model can be split into further parts, for example, from the beginning, but the model can also be split into two parts and then one part can be subdivided into further parts.
[0090] For the two parts, the first part includes the original input layer and the second part includes the last layer (e.g., the "prediction" layer of ResNet50).
[0091] The split point can be indicated using the index or layer name of the layer just before the split point. In Figure 4 the example, the first split point can be indicated as 3 and the second split point can be indicated as 8. The split point can also be indicated using the index or layer name of the layer just after the split point, e.g., 4 or 9 in the example of Figure 4
[0092] The split parts can be defined by their constituent layers. For example, in Figure 4 the example, the first part {M1} can be defined as {1, 3} and the second part {M2} can be defined as {4, X}. The output layer of M1 is layer 3 and the input layer of M2 is layer 4.
[0093] The selection of the (multiple) split points can be made by a decision module managed by the operator or the provider of the AI / ML application. The decision module can notify the UE and the remote device of the selected split points and thus notify each entity of the parts to be used. Depending on the implementation, the decision module can be referred to as a "scheduler", "optimizer", "profiler", "evaluator" or "referee".
[0094] For the decision, the decision module can consider one or more requirements, such as latency requirements, energy requirements and throughput requirements. To meet the (multiple) requirements, the decision module processes information provided by the operator, the AI / ML application provider, the remote device and / or the UE to determine the split points.
[0095] The network infrastructure nodes, i.e., the UE and the remote device, are provided with the AI / ML model partitions according to the split points. Then the inference process can begin.
[0096] The size of the intermediate data output by the UE and transmitted to the remote device corresponds to the size of the M1 output data and generally depends on the selected split point.
[0097] The UE can contain all possible M1s, and the remote device can contain all possible M2s, which makes it sufficient to send the identifier of the selected part, for example, by sending the identifier of the split point.
[0098] The disadvantage of this solution is that the UE and the remote device store all possible partial M1s and M2s respectively, which is harmful to storage efficiency, especially at the UE side.
[0099] Another disadvantage is that the granularity may be very coarse. When a split point change occurs, a new model needs to be loaded into the processor memory, which results in a waste of time and may cause data loss and service interruption because the processing is paused during the loading.
[0100] It should also be noted that this solution can be defined as a static implementation, where the split point decision is external to the UE. However, as described above, changing the split point may require updating the partitioned model with time-consuming loading or downloading operations. Other expressions for "static implementation" are "frozen implementation", "inflexible management", and "pre-configured implementation".
[0101] It should be understood that locating the decision module in the network may mean that it has only a limited level of information to define the split point. In addition, the node environment parameters may fluctuate over time. In other words, the split point management described previously may be inefficient.
[0102] More specifically, the decision of where to split the AI / ML model is usually based on general and well-known requirements such as latency, energy consumption, and / or bandwidth. In some cases, these requirements are not sufficient, and further UE-specific parameters may have a significant impact on the selection of the split point, for example, privacy settings, constructor or manufacturer-specific HW or SW settings, and user profiles.
[0103] For different reasons, these UE-specific parameters can be restricted to the UE, so the network decision module cannot consider them. The reasons for restricting the parameters to the UE include that the end user does not want to transmit the user profile or the UE manufacturer does not want to transmit the HW / SW settings.
[0104] It will also be understood that changing the split point may require updating the partitioned AI / ML model on the UE. The update may require exchanging the partitioned model or downloading sufficient partitioned models, which may be slow and may also introduce latency during the inference process.
[0105] More specifically, if the UE uses a model that infers partitions of an input video stream at a given frame rate and the split points change during the inference process, the split point management described above may result in frame loss, which in turn may cause service interruption.
[0106] According to this principle, the UE manages a set of split points defined by the network and can select a split point. The UE can process parts of its model and then send the resulting intermediate data together with additional information (e.g., split point ID, sequence number, timestamp) to the network.
[0107] In addition, the partitioned AI / ML model on the UE works as a pipeline. The partitioned AI / ML model can be loaded once and all corresponding parts are available at any time, which means that almost as soon as a split point is selected, the corresponding part is operable and can be fed sequential data such as a video bitstream. The reason for this is that it may be sufficient to store the partitioned AI / ML model and the corresponding split points, e.g., [A], [B], etc., as opposed to storing partitions up to each split point.
[0108] According to this principle, the split points of the model are not unique, but there are multiple possible split points, where the dynamic management depends on a local decision module in the UE. Among the multiple split points, a given split point can be indicated as preferred. There can also be a ranking (e.g., decreasing) of at least two split points among the multiple split points.
[0109] Figure 5 A system according to an embodiment of this principle is shown. The local decision module 512 in the UE 510 can monitor local settings / information to be considered when determining split points, such as local settings / information received from the application 514, and can also consider the input data to be inferred, such as the data volume, input frame rate, or number of data streams. In one embodiment, the local decision module 512 can be triggered by another module (not shown).
[0110] If the split point needs to be changed, the external decision module 524 sends information to the UE 510 to update the split point. The local decision module 512 considers this information and can decide to apply the changed split point to the next incoming data.
[0111] The split point used by the UE 510 is transmitted to the remote device 526 (e.g., an edge or cloud server) together with the associated intermediate data. Upon reception, the remote device 526 can dynamically re - define the M2 part 528 of the model.
[0112] When deploying a (multi -) partitioned model on a network node (e.g., UE, edge server, or cloud server), for example, the application provider 520 transfers the set of split points from the network side to the UE side. The set of split points can be transferred as a list, a range, or simply a maximum boundary.
[0113] The set of split points can give the UE 510 the flexibility or freedom to choose split points according to its own policies. In fact, some device / SW implementers may emphasize power consumption parameters, while others may emphasize latency, privacy, or other confidentiality considerations.
[0114] The part of the AI / ML model hosted by the UE 510 includes the different points where the model can be divided into multiple parts. If the split points change for one inferencer (e.g., UE), then the split points for another inferencer (e.g., edge server or cloud server) will change synchronously accordingly, which can be achieved by using messages before or attached to the intermediate data.
[0115] Figure 6 Overlapping split points at the UE and the network according to an embodiment of the present principle are shown.
[0116] A change in the split points requires the split points to exist on both sides. Otherwise, the missing part of the AI / ML model must be downloaded, which may delay the inference process.
[0117] As Figure 6 shown, there is an original model M with two parts (Potential Model Partition, PMP): a first part (white) residing on both the UE and the external device, and a second part (gray) residing only on the external device. Also shown are a number of split points A - J, where A - F are in the first part, G is between the two parts, and H - J are in the second part.
[0118] The UE can select / change / update split points within the limits (list, range, boundary) given by the AI / ML model management entity, i.e., by selecting one of the given split points. Since the UE only has the first part, it can only select between split points A - G (or download at least some of the second part).
[0119] The AI / ML model manager aims to manage the AI / ML models on the UE, edge, and cloud servers. To this end, it may provide information on how to download AI / ML models, how to update them, how to process them, what their architectures are, etc.
[0120] The set of split points sent to the UE can take the form of, for example, a split point range, a split point list, or a split point maximum boundary. In addition, preferred split points or an ordering of split points can be sent.
[0121] Therefore, the range of split points is set and sent to the UE, which can then determine the split point to use based on, for example, environmental parameters and / or device-specific parameters.
[0122] When the split point is selected, the UE notifies the external device to update its split point accordingly.
[0123] Since external devices such as edge / cloud servers usually rely on important resources (power, processing units), parts of them can collect the maximum values of split points, up to and including storing the entire AI / ML model. Then, depending on the selection of the split point, only a part is used. Thus, the external device can be provided with the second part PMP2.
[0124] On the UE side, resources are limited, so it is not possible to provide the UE with the complete AI / ML model and all split points. However, in terms of memory and / or processing units, the AI / ML model partition can be scaled to the maximum available capacity of the UE. Therefore, the first part PMP1 can be provided to the UE, as well as a list of applicable split points or a range of split points or the maximum boundary of split points.
[0125] The split points sent to the UE overlap with the split points of the external device that selects the common split point.
[0126] The network can send the set of split points to the UE in various ways.
[0127] The network can send the range of split points to the UE. For example, in Figure 6 the example shown, the network can send the range [A, G] to the UE, i.e., all split points of the first part. The network can also send a subset of all possible split points, such as [B, F].
[0128] The network can also send a list of split points to the UE. This list can be at least partially discontinuous. For example, in Figure 6 the possible split points are A - G, and a selection of these split points can be provided to the UE, such as {B, D, F}. This means that the split points A, C, E, and G are not provided to the UE. This may be the case, for example, if the intermediate data from these split points is too large or if they are vulnerable to malicious attacks.
[0129] The network can also send the maximum boundary of split points to the UE. The maximum boundary indicates the upper limit of the split points that can be selected. For example, in Figure 6 the network can determine that split point D is the highest split point that can be selected by the UE. Then, the UE can select a split point among A, B, C, and D.
[0130] Continue Figure 6In the example, it is assumed that each part is independent of the others, and the UE determines the split point as D.
[0131] The UE sequentially executes each part until it reaches the split point D. The UE can check after each processed part whether it has reached the split point, but it can also know the layer to process to reach the split point D.
[0132] Upon reaching the split point, the UE encapsulates the intermediate result data in a message that has a header indicating the message source and the split point. Then, the UE sends the message to the network, i.e., an external device.
[0133] The external device receives the encapsulated intermediate result, extracts the intermediate result data, obtains the split point and the next part to execute, and processes the intermediate result data in the obtained part. Then, the output data of the part is provided to the next part until the end, and the prediction layer outputs the result.
[0134] The intermediate result data can be encapsulated in a message indicating the data source. The message can have, for example, the following structure:
[0135] Struct IntermediateDataWrapper{ Int Model_RefID; # Model identifier bit ChangeOfSplitPoint; # 1 if the split point has changed from the previous message Int SplitPointID; # The split point used by the UE Int NextSplitpointID; # The next split point used by the UE (optional) Int IntermediateDataLength; # The length of the intermediate data Dim IntermediateDataDim; # The array dimensions of the intermediate data byte EncodingMethod; # Indicates whether the data is compressed and with which algorithm int SequenceNumber; # The sequence identifier of the input data double TimeStamp; # The timestamp of the intermediate data Byte IntermediateData[] # Intermediate data };
[0136] In the case where the UE and the external device have sufficient memory to store all possibilities of M1 and M2, the UE can send information indicating the used part for obtaining the intermediate result. The external device can retrieve this information and activate the corresponding part to complete the inference.
[0137] Inference of the segmentation point of the video stream
[0138] On the UE, each frame i of the video stream is processed using a layer, and the resulting intermediate data associated with the frame is sent to the external device together with the information indicating the segmentation point. It will be understood that this processing can be regarded as a pipeline.
[0139] In one embodiment, the video stream is processed frame by frame. When the processing of the previous frame ends, that is, when the intermediate result has been obtained, the next frame is processed.
[0140] In the case where the UE determines to change the segmentation point during the processing of the video stream, it is sufficient to indicate the changed segmentation point in the information accompanying the intermediate data associated with the frame.
[0141] In one embodiment, multiple frames are processed simultaneously by the UE and may also be processed on the external device (if fast enough, the frames can be processed one after another). This method generally has a higher throughput than processing the frames one by one.
[0142] On the UE, each block can process one frame. When a block has processed a frame, the result is provided to the next block, and the block can receive the output of the previous block.
[0143] In the case where the UE determines to change the segmentation point during the processing of the video stream, there are multiple possibilities to notify the external device.
[0144] If the main priority of the processing is not to lose frames, the UE can wait until the affected layer has completed its processing. Then, the segmentation point can be changed to exclude the processing of the affected layer at the UE.
[0145] If the main priority is the waiting time, the currently processed frame can simply be skipped, and the inference can continue with the new incoming frames.
[0146] Using timestamps, these two solutions can be combined. The processed frames are transmitted together with timestamps and / or sequence numbers. The external device can determine whether to skip or process the delayed frame(s) based on the timestamp and / or sequence number, for example.
[0147] Note that whether processing one frame or multiple frames at a time, the throughput provides the maximum frame rate allowed by the model.
[0148] Figure 7AShows an example of sequential pipeline processing according to one embodiment. In this example, the AI / ML model portion includes four layers, and each layer processes and outputs frame data within a time Δ. At T0, layer 1 starts processing the first frame, i.e., Frame1, which is passed to layer 2, and layer 2 starts processing at T0 + Δ, and so on, until the result of Frame1 is output at T0 + 4Δ. Then, the second frame Frame2 is processed in the same way starting from T0 + 4Δ until the result is output at T0 + 8Δ.
[0149] Figure 7B Shows an example of parallel pipeline processing according to one embodiment. In this example, the AI / ML model portion includes four layers, and each layer processes and outputs frame data within a time Δ. At T0, layer 1 starts processing the first frame, i.e., Frame1, which is passed to layer 2, and layer 2 starts processing at T0 + Δ, and so on, until the result of Frame1 is output at T0 + 4Δ. However, Figure 7A different from that, when layer 1 has produced the result of Frame1, i.e., at T0 + Δ, the processing of the second frame Frame2 starts. It can be seen that, except for the rising stage, parallel processing can produce four times the output of sequential processing.
[0150] The pipelined partitioned model can have the following advantages, and each block can be deployed on a specific hardware unit: for example, CPU, GPU, NPU, TPU. For example, one block can advantageously run on a TPU, while another block is more suitable for processing on a GPU.
[0151] Figure 8 Shows a flowchart of a deployment and provisioning method according to an embodiment of this principle. Among other things, Figure 8 Shows the messages exchanged between UE 801, AI / ML model manager 805, and external device 803.
[0152] The AI / ML model manager 805 manages AI / ML model resources. It collects information from UE 801 and external device 803, processes this information and determines the AI / ML model partitioning: the size of each partition and the split points, i.e., the way the model is divided.
[0153] This information can include but is not limited to the bandwidth measured (and transmitted to the UE) by the UE and / or the base station, the power consumption (energy) on the UE and / or the external device, and the processing units available on the UE and / or the external device.
[0154] The external device 803 is the node that processes the second part of the AI / ML model.
[0155] After the provision in step S802, in step S804, the UE requests an AI / ML model from the AI / ML model manager 805 in a request that includes information such as its processing unit state, its memory state, and the available bandwidth on its wireless link as already described. In step S806, the external devices 803 send information about their processing units, memories, and energy capabilities.
[0156] The AI / ML model manager 805 processes this information and determines in step S808 how to distribute the AI / ML model parts, i.e., in terms of partitioning, and also determines which range of split points the UE can use.
[0157] In step S810, the AI / ML model manager 805 sends the partitioned model to be used, the range of split points, e.g., [B - G], and the preferred split point, e.g., {F}. The split model sent by the AI / ML model manager 805 includes Figure 6 a plurality of blocks as shown, where each block includes at least one layer and an input layer.
[0158] In step S814, the UE 801 runs its own local decision module based on its own information and the provided range of split points. In step S816, the UE also confirms the receipt of the partitioned model.
[0159] In step S818, the network starts loading the partitioned model and then, in step S820, sends information to the UE 801 indicating that inference can start.
[0160] In step S824, the UE 801 loads the partitioned model and starts inference in step S826.
[0161] Figure 9 A sequence diagram showing an embodiment compatible with the current 3GPP SA4 AI / ML components according to this principle is shown.
[0162] In step S902, the AI / ML application 901 sends a request for a dynamic split configuration range from the AI / ML application service 911. The request proposes to dynamically split an AI / ML model (e.g., M) into two parts (e.g., M1 and M2) at different split points (e.g., A, B, C, D, E), where M1 is executed on the UE and M2 is executed in the network. For example, here, split points B and C can be considered for both sides.
[0163] In step S904, the AI / ML application service 911 sends a message to notify the AI / ML application 901 that the request has been granted.
[0164] In step S906, the AI / ML application 901 calculates split points based on, for example, internal resources and application requirements, and initializes an AI / ML UE subset including split points A, B, and C.
[0165] In step S908, the inference engine 903 receives the first sequence, frame 1.
[0166] In step S910, the inference engine 903 processes frame 1 until split point C.
[0167] In step S912, the inference engine 903 sends the intermediate result of frame 1 to the intermediate data transfer function 905, and the intermediate data transfer function 905 sends a message including the intermediate result and metadata to the network inference engine 909 via the intermediate data transfer function 907. The metadata includes an indication of the split point used.
[0168] In step S914, the network inference engine 909 processes the intermediate result of frame 1 starting from split point C using M2.
[0169] In step S916, the network inference engine 909 sends a message with the result of frame 1 to the AI / ML application 901.
[0170] In step S918, the AI / ML application 901 that has determined a new split point B notifies the inference engine 903 of the new split point. The determination of the new split point can depend on an internal trigger (e.g., reduced available processing power).
[0171] In step S920, the inference engine 903 receives the second sequence, frame 2.
[0172] In step S922, the inference engine 903 processes frame 2 until split point B.
[0173] In step S924, the inference engine 903 sends the intermediate result of frame 2 to the intermediate data transfer function 905, and the intermediate data transfer function 905 sends a message including the intermediate result and metadata to the network inference engine 909 via the intermediate data transfer function 907. The metadata includes an indication of the split point used.
[0174] In step S926, based on the indication of the received split point, the network inference engine 909 changes its own split point (and the AI / ML model part) and processes the intermediate result of frame 2 starting from split point B.
[0175] In step S928, the network inference engine 909 sends a message with the result of frame 2 to the AI / ML application 901.
[0176] Conclusion
[0177] Although the features and elements are provided above in particular combinations, one of ordinary skill in the art will appreciate that each feature or element can be used separately or in any combination with other features and elements. The present disclosure is not limited to the specific embodiments described in this application, which are intended to illustrate various aspects. Many modifications and variations can be made without departing from the spirit and scope of the invention, as will be apparent to those skilled in the art. Any element, act, or instruction used in the description of this application should not be construed as critical or essential to the invention unless expressly provided as such. Based on the foregoing description, functional equivalent methods and apparatuses within the scope of the present disclosure will be apparent to those skilled in the art in addition to those methods and apparatuses enumerated herein. Such modifications and variations are intended to fall within the scope of the appended claims. The present disclosure is limited only by the terms of the appended claims and the full scope of equivalents to such claims. It will be understood that the present disclosure is not limited to a particular method or system.
[0178] For simplicity, the foregoing embodiments are discussed in terms of the terminology and structure of a device having infrared capabilities (i.e., an infrared transmitter and receiver). However, the embodiments discussed are not limited to these systems, but can be applied to other systems that use other forms of electromagnetic or non-electromagnetic waves (such as sound waves).
[0179] It will also be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used herein, the term "video" or the term "image" can mean any of a snapshot, a single image, and / or multiple images displayed on a time basis. As another example, when referred to herein, the term "user equipment" and its abbreviation "UE", the term "remote", and / or the term "head-mounted display" and its abbreviation "HMD" can mean or include (i) a wireless transmit and / or receive unit (WTRU); (ii) any of a plurality of embodiments of a WTRU; (iii) a device having wireless capabilities and / or wired capabilities (e.g., tetherable), which is particularly configured with some or all of the structure and functionality of a WTRU; (iii) a device having wireless capabilities and / or wired capabilities that is configured with less than all of the structure and functionality of a WTRU; or (iv) the like. Details of an example WTRU that can represent any WTRU described herein are provided. As another example, the various embodiments disclosed above and below are described as utilizing a head-mounted display. Those skilled in the art will recognize that devices other than a head-mounted display can be utilized and that some or all of the present disclosure and the various disclosed embodiments can be modified accordingly without undue experimentation. Examples of such other devices can include drones or other devices configured to stream information to provide an augmented reality experience. Figures 1A - 1D Details of an example WTRU that can represent any WTRU described herein are provided. As another example, the various embodiments disclosed above and below are described as utilizing a head-mounted display. Those skilled in the art will recognize that devices other than a head-mounted display can be utilized and that some or all of the present disclosure and the various disclosed embodiments can be modified accordingly without undue experimentation. Examples of such other devices can include drones or other devices configured to stream information to provide an augmented reality experience.
[0180] In addition, the methods provided herein can be implemented in a computer program, software, or firmware incorporated in a computer-readable medium for execution by a computer or a processor. Examples of computer-readable media include electrical signals (transmitted via wired or wireless connections) and computer-readable storage media. Examples of computer-readable storage media include, but are not limited to, read-only memory (ROM), random access memory (RAM), registers, cache memory, semiconductor memory devices, magnetic media such as internal hard disks and removable disks, magneto-optical media, and optical media such as CD-ROM disks and digital versatile disks (DVDs). A processor associated with the software can be used to implement a radio frequency transceiver used in a WTRU, UE, terminal, base station, RNC, or any host.
[0181] Variations of the methods, apparatuses, and systems provided above are possible without departing from the scope of the present invention. Given the wide variety of embodiments that can be applied, it should be understood that the illustrated embodiments are merely examples and should not be considered as limiting the scope of the appended claims. For example, the embodiments provided herein include a handheld device that can include or be used in conjunction with any suitable voltage source, such as a battery, that provides any suitable voltage.
[0182] In addition, in the embodiments provided above, processing platforms, computing systems, controllers, and other devices that include a processor are pointed out. These devices can include at least one central processing unit (“CPU”) and a memory. In accordance with the practice of those skilled in the computer programming art, references to acts and symbolic representations of operations or instructions can be performed by various CPUs and memories. Such acts and operations or instructions can be referred to as “executed,” “computer-executed,” or “CPU-executed.”
[0183] One of ordinary skill in the art will appreciate that acts and symbolic representations of operations or instructions include manipulation of electrical signals by a CPU. The electrical system represents data bits that can cause a final conversion or reduction of electrical signals and maintain the data bits at a memory location in a memory system, thereby reconfiguring or otherwise altering the operation of the CPU and other processing of the signals. A memory location that maintains the data bits is a physical location having a particular electrical, magnetic, optical, or organic property corresponding to or representing the data bits. It should be understood that the embodiments are not limited to the platforms or CPUs mentioned above, and other platforms and CPUs can support the methods provided.
[0184] The data bits can also be maintained on a computer-readable medium, which includes magnetic disks, optical disks, and any other volatile (e.g., random access memory (RAM)) or non-volatile (e.g., read-only memory (ROM)) mass storage system readable by a CPU. The computer-readable medium can include cooperative or interconnected computer-readable media that are specifically present on a processing system or distributed among multiple interconnected processing systems, which can be local or remote to the processing system. It should be understood that the embodiments are not limited to the memories mentioned above, and other platforms and memories can support the provided methods.
[0185] In an illustrative embodiment, any operations, processes, etc. described herein can be implemented as computer-readable instructions stored on a computer-readable medium. The computer-readable instructions can be executed by a processor of a mobile unit, a network element, and / or any other computing device.
[0186] There is little difference between the hardware and software implementations of various aspects of the system. The use of hardware or software is generally (but not always, and in some situations, the choice between hardware and software may become important) a design choice representing a cost-versus-efficiency trade-off. There can be various means by which the processes and / or systems and / or other technologies described herein can be implemented (e.g., hardware, software, and / or firmware), and the preferred means can vary with the context in which the processes and / or systems and / or other technologies are deployed. For example, if the implementer determines that speed and accuracy are of utmost importance, the implementer can choose means that are primarily hardware and / or firmware. If flexibility is of utmost importance, the implementer can choose means that are primarily software-implemented. Alternatively, the implementer can choose some combination of hardware, software, and / or firmware.
[0187] The foregoing detailed description has set forth various embodiments of devices and / or processes via the use of block diagrams, flowcharts, and / or examples. As within such block diagrams, flowcharts, and / or examples include one or more functions and / or operations, those skilled in the art will understand that each function and / or operation within such block diagrams, flowcharts, or examples can be implemented individually and / or jointly by a wide range of hardware, software, firmware, or virtually any combination thereof. In one embodiment, several portions of the subject matter described herein can be implemented via application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), digital signal processors (DSPs), and / or other integrated formats. However, those skilled in the art will recognize that some aspects of the embodiments disclosed herein can be equivalently implemented, in whole or in part, in integrated circuits, as one or more computer programs running on one or more computers (e.g., as one or more programs running on one or more computer systems), as one or more programs running on one or more processors (e.g., as one or more programs running on one or more microprocessors), as firmware, or virtually any combination thereof, and designing the circuitry and / or writing code for the software and / or firmware would be well within the skill of those in the art in light of this disclosure. Additionally, those skilled in the art will appreciate that the mechanisms of the subject matter described herein can be distributed as a variety of program products, and illustrative embodiments of the subject matter described herein apply regardless of the particular type of signal bearing medium used to actually effect the distribution. Examples of signal bearing media include, but are not limited to, the following: recordable type media such as floppy disks, hard disk drives, CDs, DVDs, digital tape, computer memory, etc., and transmission type media such as digital and / or analog communication media (e.g., optical fibers, waveguides, wired communication links, wireless communication links, etc.).
[0188] Those skilled in the art will recognize that within the art, it is common to describe devices and / or processes in the manner set forth herein and then use engineering practices to integrate the devices and / or processes so described into a data processing system. That is, at least a portion of the devices and / or processes described herein can be integrated into a data processing system via a reasonable amount of experimentation. Those skilled in the art will recognize that a typical data processing system will generally include one or more system unit enclosures, a video display device, memories such as volatile and non-volatile memory, processors such as microprocessors and digital signal processors, computing entities such as operating systems, drivers, graphical user interfaces, and application programs, one or more interaction devices such as touchpads or screens, and / or a control system including feedback loops and control motors (e.g., for listening for feedback of position and / or speed, control motors for moving and / or adjusting components and / or amounts). A typical data processing system can be implemented using any suitable commercially available components, such as those commonly found in data computing / communication and / or network computing / communication systems.
[0189] The subject matter described herein sometimes illustrates different components included within or connected to different other components. It will be understood that such depicted architectures are merely examples, and in fact, many other architectures can be implemented to achieve the same functionality. In a conceptual sense, any arrangement of components that achieves the same functionality is effectively "associated" such that the desired functionality can be achieved. Thus, any two components that are combined herein to achieve a particular functionality can be seen as being "associated" with each other to achieve the desired functionality, regardless of the architecture or intermediate components. Similarly, any two components so associated can also be regarded as being "operably connected" or "operably coupled" to each other to achieve the desired functionality, and any two components that can be so associated can also be regarded as being "operably coupled" to each other to achieve the desired functionality. Specific examples of operable coupling include, but are not limited to, components that physically mate and / or physically interact and / or wirelessly interact and / or wirelessly communicate and / or logically interact and / or are logically communicable.
[0190] Regarding the use of substantially any plural and / or singular terms herein, those skilled in the art can appropriately translate from plural to singular and / or from singular to plural depending on the context and / or application. For clarity, various singular / plural permutations may be set forth herein clearly.
[0191] Those skilled in the art will understand that, in general, the terms used herein and especially in the appended claims (e.g., the body of the appended claims) are generally intended to be "open" terms (e.g., the term "comprising" should be interpreted as "including but not limited to", the term "having" should be interpreted as "having at least", the term "including" should be interpreted as "including but not limited to", etc.). Those skilled in the art will further understand that if an intention to introduce a specific number of claim recitations is present, such intention will be explicitly recited in the claims, and if no such recitation is present, no such intention exists. For example, in the case of intending only one item, the term "single" or similar language may be used. To assist understanding, the appended claims and / or the description herein may include the use of introductory phrases "at least one" and "one or more" to introduce claim recitations. However, the use of such phrases should not be construed as implying that a claim recitation introduced by the indefinite article "a" or "an" limits any particular claim including such introduced claim recitation to only include one such recited embodiment, even when the same claim includes the introductory phrase "one or more" or "at least one" as well as an indefinite article such as "a" or "an" (e.g., "a" and / or "an" should be interpreted as meaning "at least one" or "one or more"). This also applies to the use of definite articles used to introduce claim recitations. In addition, even if the specific number of introduced claim recitations is explicitly recited, those skilled in the art will recognize that such recitation should be interpreted as meaning at least the recited number (e.g., a simple recitation of "two recitations" without any other modifiers means at least two recitations, or two or more recitations). Further, in cases similar to those using conventions such as "at least one of A, B, and C, etc.", generally, such a construction is intended in the sense that those skilled in the art will understand the convention (e.g., "a system having at least one of A, B, and C" will include but not be limited to systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). In cases similar to those using conventions such as "at least one of A, B, or C, etc.", generally, such a construction is intended in the sense that those skilled in the art will understand the convention (e.g., "a system having at least one of A, B, or C" will include but not be limited to systems having A alone, B alone, C alone, A and B together, A and C together, B and C together, and / or A, B, and C together, etc.). Those skilled in the art will further understand that any disjunctive word and / or phrase that actually represents two or more alternative terms, whether in the specification, claims, or drawings, should be understood as envisioning the possibilities of including one term, the other term, or both terms. For example, the phrase "A or B" will be understood as including the possibilities of "A" or "B" or "A and B".In addition, as used herein, the term "any" followed by a list of multiple items and / or multiple categories of items is intended to include "any one", "any combination", "any plurality", and / or "any combination of a plurality" of the items and / or categories of items, either individually or in combination with other items and / or other categories of items. Further, as used herein, the term "set" is intended to include any number of items, including zero. Additionally, as used herein, the term "quantity" is intended to include any number, including zero. And the term "plurality" as used herein is intended to be synonymous with "a number of".
[0192] In addition, in instances where the features or aspects of the present disclosure are described in terms of a Markush group, those skilled in the art will recognize that the present disclosure is also thereby described in terms of any single member of the Markush group or a subgroup of members.
[0193] As will be understood by those skilled in the art, for any and all purposes, such as in providing a written description, all ranges disclosed herein also include any and all possible sub-ranges and combinations of such sub-ranges. Any recited range can be readily viewed as fully describing and enabling the same range to be broken down into at least equal halves, thirds, quarters, fifths, tenths, etc. By way of non-limiting example, each range discussed herein can be readily broken down into a lower third, middle third, and upper third, etc. As will also be understood by those skilled in the art, all language such as "up to", "at least", "greater than", "less than", etc. includes the recited numeral and refers to ranges that can then be broken down into sub-ranges as discussed above. Finally, as will be understood by those skilled in the art, ranges include each individual member. Thus, for example, a group having 1 - 3 units refers to a group having 1, 2, or 3 units. Similarly, a group having 1 - 5 units refers to a group having 1, 2, 3, 4, or 5 units, and so on.
[0194] In addition, the claims should not be construed as limited to the order or elements provided, unless so stated. Further, the use of the term "means for" in any claim is intended to invoke 35 U.S.C. § 112, or the means-plus-function claim format, and any claim that does not have the term "means for" is not so intended.
Claims
1. A method, including in a first device: Receiving a representation of at least a part of a machine learning model and information representing a plurality of split points, the split points representing layers at which intermediate results of executing the machine learning model can be output to a second device, the intermediate results enabling the machine learning model to be executed from the split points; Determine a selected splitting point from a plurality of splitting points; Process input data using an AI / ML model until the selected splitting point to obtain an intermediate result corresponding to the selected splitting point; And Output information corresponding to the intermediate result corresponding to the selected splitting point and information indicating the selected splitting point to a second device.
2. The method according to claim 1, including: Receive, from the second device, a result of executing a machine learning model from the selected splitting point.
3. The method according to claim 1, wherein: The layer is a layer in the machine learning model that outputs an intermediate result corresponding to the selected splitting point.
4. The method according to claim 1, wherein: The selected splitting point is determined based on at least one of a latency requirement, an energy requirement, a throughput requirement, a privacy setting, a hardware setting, a software setting, and a user profile.
5. A first device, including at least one hardware processor, configured to: Receiving a representation of at least a portion of a machine learning model and information representing a plurality of split points, the split points representing layers at which intermediate results of executing the machine learning model can be output to a second device, the intermediate results enabling the machine learning model to be executed from the split points; Determine a selected splitting point from a plurality of splitting points; Process input data using a machine learning model until the selected splitting point to obtain an intermediate result corresponding to the selected splitting point; And Output information corresponding to the intermediate result corresponding to the selected splitting point and information indicating the selected splitting point to a second device.
6. The first device according to claim 5, wherein The at least one hardware processor is further configured to: Receive, from the second device, a result of executing a machine learning model from the selected splitting point.
7. The first device according to claim 5, wherein: The layer is a layer in the machine learning model that outputs an intermediate result corresponding to the selected splitting point.
8. The first device according to claim 5, wherein: The selected splitting point is determined based on at least one of a latency requirement, an energy requirement, a throughput requirement, a privacy setting, a hardware setting, a software setting, and a user profile.